{"version":3,"sources":["shared/theme.ts","components/GlobalStyle/index.tsx","shared/globals.ts","components/MiniSearch/index.js","utils/SearchHelper.js","utils/SiteWidgetizer.js","components/common/index.tsx","components/Dropdown/styles.ts","components/Dropdown/index.tsx","components/Pill/styles.ts","components/Pill/index.tsx","components/Banner/styles.ts","components/Banner/index.tsx","hooks/index.ts","components/Stack/index.tsx","components/PageSection/styles.ts","components/PageSection/index.tsx","assets/images/icons/icon-credentials-white-green-01.svg","assets/images/icons/icon-about-blue-green-01.svg","components/Stats/styles.ts","components/Stats/index.tsx","components/ActivityIndicator/index.tsx","pages/TestPage/index.tsx","components/SearchBar/styles.ts","utils/index.ts","components/AutoCompletionTextField/styles.ts","components/AutoCompletionTextField/index.tsx","assets/images/icons/icon-credentials-blue-green-01.svg","assets/images/icons/icon-organization-blue-green-01.svg","assets/images/icons/icon-assessments-blue-green-01.svg","assets/images/UpdatedIcons/CE-Icon_3-Learning-Opportunity_Blue-Green_High-Res.png","assets/images/icons/icon-competencies-blue-green-01.svg","assets/images/icons/icon-pathways-blue-green-01.svg","assets/images/icons/icon-transfer-value-blue-green-01.svg","assets/images/UpdatedIcons/CE-Icon_10-Support_Blue-Green_High-Res.png","assets/images/UpdatedIcons/CE-Icon_12-Industries_Blue-Green_High-Res.png","assets/images/UpdatedIcons/CE-Icon_13-Jobs_Blue-Green_High-Res.png","assets/images/UpdatedIcons/CE-Icon_11-Occupations_Blue-Green_High-Res.png","assets/images/UpdatedIcons/CE-Icon_14-Work-Roles_Blue-Green_High-Res.png","assets/images/UpdatedIcons/CE-Icon_20-QA-Actions_Blue-Green_High-Res.png","assets/images/UpdatedIcons/CE-Icon_21-Rubrics_Blue-Green_High-Res.png","assets/images/UpdatedIcons/CE-Icon_22-Metrics_Blue-Green_High-Res.png","assets/images/UpdatedIcons/CE-Icon_8-Outcome-Data_Blue-Green_High-Res.png","assets/images/UpdatedIcons/CE-Icon_6-Collection_Blue-Green_High-Res.png","assets/images/UpdatedIcons/CE-Icon_15-Tasks_Blue-Green_High-Res.png","assets/images/UpdatedIcons/CE-Icon_17-Transfer-Intermediary_Blue-Green_High-Res.png","assets/images/UpdatedIcons/CE-Icon_19-Progression-Model_Blue-Green_High-Res.png","assets/images/UpdatedIcons/CE-Icon_18-Concept-Scheme_Blue-Green_High-Res.png","assets/images/UpdatedIcons/CE-Icon_23-Qualification-Frameworks_Blue-Green_High-Res.png","shared/data.ts","services/api.ts","components/SearchBar/index.tsx","assets/images/icons/background-dot-light-blue-01.svg","components/Carousel/index.tsx","components/TabBar/index.tsx","assets/images/icons/icon-slider-credential-providers-01.svg","assets/images/icons/icon-slider-quality-assurance-organizations-01.svg","assets/images/icons/icon-slider-employers-01.svg","assets/images/icons/icon-slider-individual-01.svg","assets/images/icons/icon-slider-government-agencies-01.svg","assets/images/icons/icon-slider-application-developers-01.svg","assets/images/icons/icon-slider-skill-and-competency-creators-01.svg","components/CarouselBlock/index.tsx","assets/images/icons/icon-credentials-blue-white-01.svg","pages/HomePage/data.ts","assets/images/icons/icon-learning-opportunities-blue-white-01.svg","assets/images/icons/icon-assessments-blue-white-01.svg","assets/images/icons/icon-quality-assurance-blue-white-01.svg","assets/images/icons/icon-competencies-blue-white-01.svg","assets/images/icons/icon-pathways-blue-white-01.svg","assets/images/icons/icon-transfer-value-blue-white-01.svg","assets/images/icons/background.svg","assets/images/icons/curved-line-background.svg","pages/HomePage/InformationPanel.tsx","pages/HomePage/styles.ts","components/DetailPage/styles.ts","components/DetailPage/LinkObject.tsx","pages/HomePage/index.tsx","components/Error/styles.ts","components/Error/index.tsx","pages/ReportsDataPage/index.tsx","components/Header/styles.ts","utils/LocalStorage.js","components/Header/index.tsx","components/LoadingOrError/styles.ts","components/LoadingOrError/index.tsx","components/PageSectionItem/index.tsx","assets/images/icons/icon-organization-white-green-01.svg","assets/images/icons/icon-occupations-and-industries-blue-green-01.svg","assets/images/icons/icon-process-blue-green-01.svg","components/SearchPills/styles.ts","components/PillLink/styles.ts","components/PillLink/index.tsx","components/DetailPage/TruncatedItemList.tsx","components/SearchPills/index.tsx","validation/index.tsx","components/PillDisplay/styles.ts","components/PillDisplay/index.tsx","pages/OrganizationPage/AboutDetail.tsx","components/DetailPage/Place.tsx","assets/images/icons/icon-location-blue-green-01.svg","services/map.ts","components/DetailPage/ModalLinks.tsx","components/DetailPage/Outline.tsx","components/DetailPage/Shared.tsx","components/DetailPage/JurisdictionProfile.tsx","components/HasAnyFilled/index.tsx","components/DetailPage/ContactPoint.tsx","components/DetailPage/LocationPageSection.tsx","components/DetailPage/PageBanner.tsx","assets/images/icons/icon-quality-assurance-blue-green-01.svg","components/Modal/styles.ts","components/GetResourceByURI/index.js","components/Modal/index.tsx","components/DetailPage/JurisdictionAssertions.tsx","components/DetailPage/QualityAssurancePageSection.tsx","assets/images/icons/icon-additional-information-blue-green-01.svg","assets/images/icons/icon-jsonld.png","components/DetailPage/JSONLinkedDataModal.tsx","components/DetailPage/AdditionalInformationPageSection.tsx","components/TextLink/index.tsx","components/VerificationServiceProfile/styles.ts","components/DetailPage/DateRange.tsx","components/DetailPage/CostProfile.tsx","components/VerificationServiceProfile/index.tsx","components/VerificationServiceProfile/list.tsx","components/DetailPage/TabSelector.tsx","components/DetailPage/CostManifest.tsx","components/DetailPage/ValueProfile.tsx","components/AJAXResourceList/index.tsx","components/DetailPage/Competency.tsx","components/DetailPage/CompetencyFramework.tsx","components/DetailPage/ConditionProfile.tsx","components/DetailPage/ConditionManifest.tsx","components/DetailPage/ProcessProfile.tsx","utils/JSONLDMetaHelper.js","pages/OrganizationPage/index.tsx","assets/images/common/powered_by_credential_registry.png","components/Footer/styles.ts","components/Footer/index.tsx","assets/images/UpdatedIcons/CE-Icon_3-Course_Blue-Green_High-Res.png","assets/images/UpdatedIcons/CE-Icon_3-Learning-Program_Blue-Green_High-Res.png","assets/images/icons/icon-pathwaysets-blue-green-01.svg","assets/images/UpdatedIcons/CE-Icon_9-Scheduled-Offering_Blue-Green_High-Res.png","components/SearchResultItem/index.tsx","pages/SearchPage/styles.ts","components/FilterPanel/styles.ts","components/FilterPanel/CFilterItem.tsx","components/FilterPanel/index.tsx","assets/images/icons/icon-competency-framework-white-green-01.svg","pages/SearchPage/EmptyResult.tsx","components/SearchResultPillSection/styles.ts","components/SearchResultPillSection/index.tsx","components/BackToTopButton/index.tsx","pages/SearchPage/index.tsx","pages/ComparePage/index.tsx","assets/images/icons/icon-competencies-white-green-01.svg","assets/images/icons/icon-connections-green-blue-01.svg","assets/images/icons/icon-subjects-and-keywords-blue-green-01.svg","components/DetailPage/SubjectsAndKeywordsPageSection.tsx","components/DetailPage/OccupationsAndIndustriesSection.tsx","components/DetailPage/WorkforceDemandAction.tsx","components/Modal/AJAXModal.tsx","pages/CompetencyPage/index.tsx","components/CompareSelectedListPanel/index.tsx","assets/images/icons/icon-assessments-white-green-01.svg","assets/images/icons/icon-scoring-method-blue-green-01.svg","assets/images/icons/icon-example-blue-green-01.svg","pages/AssessmentPage/AboutDetail.tsx","assets/images/icons/icon-organization-green-blue-01.svg","components/DetailPage/RelatedOrganizationPageSection.tsx","assets/images/icons/icon-costs-and-time-blue-green-01.svg","components/DetailPage/profileStyles.ts","components/DetailPage/FinancialAssistance.tsx","components/DetailPage/CostsAndTimePageSection.tsx","components/ExpandableText/styles.ts","components/ExpandableText/index.tsx","components/DetailPage/ConnectionsSection.tsx","components/DetailPage/QuantitativeValue.tsx","components/DetailPage/DataSetProfile.tsx","components/DetailPage/AggregateDataProfile.tsx","components/DetailPage/OutcomesDataPageSection.tsx","pages/AssessmentPage/index.tsx","pages/CollectionPage/index.tsx","assets/images/icons/icon-transfer-value-white-green-01.svg","pages/CollectionPage/indexv2.tsx","pages/CompetencyFrameworkPage/index.tsx","pages/CompetencyFrameworkPage/indexv2.tsx","pages/ConceptSchemePage/index.tsx","pages/CredentialPage/AboutDetail.tsx","components/DetailPage/DurationProfile.tsx","components/DetailPage/RevocationProfile.tsx","pages/CredentialPage/index.tsx","assets/images/icons/icon-transfer-value-green-blue-01.svg","pages/CredentialingActionPage/index.tsx","pages/DataSetProfilePage/index.tsx","pages/IndustryPage/index.tsx","pages/JobPage/index.tsx","assets/images/icons/icon-learning-opportunities-white-green-01.svg","pages/LearningOpportunityPage/index.tsx","pages/MetricPage/index.tsx","pages/OccupationPage/index.tsx","assets/images/icons/icon-pathways-green-blue-01.svg","assets/images/icons/icon-pathways-white-green-01.svg","pages/PathwayComponentPage/index.tsx","pages/PathwayPage/index.tsx","pages/PathwayPage/indexv2.tsx","pages/PathwayPage/indexv3.tsx","assets/images/icons/icon-pathwaysets-white-green-01.svg","pages/PathwaySetPage/index.tsx","pages/ProgressionModelPage/index.tsx","pages/QualificationsFrameworkPage/index.tsx","pages/AlignmentMapPage/index.tsx","pages/ResourcesPage/index.tsx","pages/RubricPage/index.tsx","pages/SupportServicePage/index.tsx","pages/TaskPage/index.tsx","pages/TransferIntermediaryPage/index.tsx","assets/images/icons/icon-transfer-intermediary-blue-green-01.svg","pages/TransferValuePage/index.tsx","pages/WorkRolePage/index.tsx","assets/images/icons/icon-credential-benchmark-report-white-green-01.svg","pages/BenchmarkReportPage/index.tsx","pages/WidgetPage/index.tsx","pages/WidgetConfigurePage/index.tsx","pages/WidgetViewPage/index.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"names":["theme","color","blueDark","brown","greyDark","greyLight","aquaDark","aquaLight","white","breakpoint","tabletPortrait","tabletLandscape","desktop","fontSize","hero","xxxl","xxl","xl","lg","md","sm","xs","maxWidth","GlobalStyle","createGlobalStyle","_templateObject","_taggedTemplateLiteral","props","apiUrl","process","legacySourceUrl","appURL","registryURL","googleMapsKey","initializeFilterSearchApiUrl","autocompleteFilterSearchApiUrl","locationBoxSearchApiUrl","BUCKET_STORAGE","googleAnalyticsID","appBaseName","configName","getUUID","crypto","randomUUID","getCurrentQuery","window","SearchQuery","updateCurrentQuery","updateMethod","_window$SearchQueryLi","query","console","log","dispatchEvent","Event","SearchQueryListeners","forEach","listener","Name","Method","addFilterItem","filterID","filterURI","filterLabel","itemID","itemURI","itemText","afterOnRemove","MainFilters","_matchingFilter$Items","matchingFilter","find","m","Id","Items","getByIDOrURIOrText","push","URI","Text","onRemove","removeFilterItem","Label","_matchingFilter$Items2","matchingItem","filter","IsPreselectedFilter","RemovedPreselectedFilter","length","toggleFilterItem","_query$MainFilters","_query$MainFilters$fi","_query$MainFilters$fi2","FilterItem","applyWidgetization","_window$Widget$Config","_window$Widget$Config2","url","success","error","Widget","ID","Config","URLName","response","Result","UrlName","InWidgetMode","select","element","dataset","originalDisplay","style","display","hide","widgetDisplay","show","addEventListener","e","widgetizeLink","srcElement","StyleTag","document","createElement","body","appendChild","handleResize","setInterval","fetch","then","text","value","JSON","parse","catch","_element$tagName","tagName","toLowerCase","href","includes","Parameter","URL","searchParams","append","DefaultSearchType","toString","parentNode","_window$parent","message","action","width","height","clientHeight","parent","postMessage","stringify","StyleRules","WidgetToFinderMap","GlobalHideName","TypeName","FilterMap","doesWidgetHideThisSearchType","searchType","_window$Widget","_window$Widget$Config3","_window$Widget$Config4","_WidgetToFinderMap$se","HideGlobalFilters","widgetApplyWidgetToQuery","_window$Widget2","_window$Widget$Config5","addRoles","roles","messagePrefix","_roles$Organizations","Organizations","organization","WidgetName","Parameters","n","aid","rid","RoleIds","addTexts","textArray","InterfaceType","map","WidgetId","HasCredentialPotentialResults","filterSet","_window$Widget3","_window$Widget3$Confi","_window$Widget3$Confi2","_window$Widget4","_window$Widget4$Confi","_window$Widget4$Confi2","_window$Widget5","_window$Widget5$Confi","_window$Widget5$Confi2","_window$Widget5$Confi3","_window$Widget6","_window$Widget6$Confi","_window$Widget6$Confi2","_window$Widget6$Confi3","QualityAssurance","Provider","Subjects","Competencies","Industries","Occupations","InstructionalProgramTypes","Collections","locations","Locations","Object","keys","IsAvailableOnline","locationsFilterItem","Countries","concat","Regions","Cities","join","Type","Values","potentialResults","PotentialResults","item","ids","collectionResults","CollectionResults","widgetGetColor","colorFor","getForegroundColor","fallback","_window$Widget8","_window$Widget8$Confi","_window$Widget8$Confi2","colorSet","WidgetColors","_m$ColorFor","ColorFor","foregroundColor","UseDefaultForegroundColor","ForegroundColor","backgroundColor","UseDefaultBackgroundColor","BackgroundColor","selector","Array","from","querySelectorAll","widgetGetSingleLabelForCTDLType","type","_window$Widget9","_window$Widget9$Confi","_window$Widget9$Confi2","_window$Widget9$Confi3","LabelMaps","CTDLType","SingleLabel","widgetGetSingleLabelForText","_window$Widget13","_window$Widget13$Conf","_window$Widget13$Conf2","_window$Widget13$Conf3","SingleReplace","widgetGetPluralLabelForText","_window$Widget14","_window$Widget14$Conf","_window$Widget14$Conf2","_window$Widget14$Conf3","PluralReplace","PluralLabel","replaceTextWith","replaceType","labelType","_window$Widget15","_window$Widget15$Conf","_window$Widget15$Conf2","Map","replace","RegExp","widgetReplaceSingleLabelInText","widgetReplacePluralLabelInText","Hero","styled","h2","Button","button","_templateObject2","buttonType","css","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","inline","_templateObject8","ButtonLink","withComponent","_templateObject9","_templateObject10","InternalButtonLink","_ref","linkProps","_objectWithoutProperties","_excluded","_jsx","Link","_objectSpread","_templateObject11","CleanList","ul","_templateObject12","FlexRow","div","_templateObject13","TextField","_templateObject14","input","_templateObject15","ContentDelimiter","_templateObject16","StyledDropdown","withConfig","displayName","componentId","Header","Options","HeaderIcon","Option","selected","OptionIcon","img","Dropdown","_props$defaultOptionI","_useState","useState","defaultOptionIndex","options","_useState2","_slicedToArray","selectIndex","setSelectIndex","ref","useRef","_useState3","_useState4","expanded","setExpanded","getOptionLabel","option","undefined","handleClickOutside","event","current","contains","target","useEffect","removeEventListener","onChange","_jsxs","role","ariaLabel","onKeyUp","children","onClick","FontAwesomeIcon","icon","faAngleDown","onBlur","relatedTarget","index","src","StyledPill","outProps","pillType","PillContent","span","Pill","_props$isActive","_props$isActive2","_props$isActive3","isClicked","setIsClicked","isActive","leftIconOnActive","leftIcon","content","className","rightIconOnActive","rightIcon","Wrapper","p","_Widget","_Widget2","Inner","Left","Center","Right","Icon","small","_Widget3","Title","h1","_Widget4","SubTitle","Content","WhiteLink","a","BadgeIcon","Banner","hasBadge","fallBackIcon","title","subTitle","otherContent","alt","onError","useMediaQuery","matchQuery","setMatchQuery","_getQueryType","_query$split","split","_query$split2","size","validatedSize","parseInt","trim","replaceAll","isNaN","getQueryType","_getQueryType2","matchSize","_getWindowDimensions","_window","innerWidth","innerHeight","getWindowDimensions","useGet","isLoading","setIsLoading","_useState5","_useState6","hasError","setHasError","useCallback","onSuccess","axios","get","data","Successful","Stack","justify","align","wrap","_props$flex","flex","HStack","spacing","HStackFilterItem","VStack","variant","MobileHeader","MobileBorder","MobileIcon","MobileText","MobilePanel","MobilePanelHeader","MobilePanelTitle","MobilePanelContent","HeaderWithNote","HeaderWithNoteContent","HeaderNote","PageSection","description","isMobile","panelIsClosed","setPanelIsClosed","openOrClosePanel","faAngleRight","faAngleLeft","article","GraphHeader","header","GraphTitle","GraphCounter","HeaderTitle","h3","HeaderContent","GraphMain","Filters","li","FilterButton","GraphFooter","footer","FooterCounter","FooterTitle","FooterContent","Stats","id","titleCounter","headerTitle","headerContent","filters","label","footerContent","footerTitle","footerCounter","rotate","keyframes","Spinner","ActivityIndicator","faSpinner","Grid","faListAlt","faLocationArrow","faClock","TestPage","_useGet","_useGet2","credIcon","placeholder","faPlus","faTimes","aboutIcon","StyledSearchBar","MobileStyledSearchBar","Section","minWidth","LocationSection","SectionTitle","SearchButton","MobileSearchText","MobileSearchIconButton","ClearButton","isCheckboxFilter","isOrganization","BroadType","getResultsLocationField","formatPrice","number","currencyHTMLEntity","numberWithCommas","toFixed","decodedCurrency","decode","getLinkType","detailSectionProperties","organizationAbout","organizationSectors","organizationProcess","organizationProcessProfiles","organizationManifests","credentialAbout","credentialAboutConnections","credentialCostAndTime","credentialCostAndTimeRenewal","credentialRequirements","entityConnections","entityCompetencies","credentialConnections","assessmentConnections","loppConnections","credentialProcess","credentialProcessProfiles","assessmentAbout","assessmentScoringMethod","assessmentExample","assessmentMethod","assessmentProcess","assessmentProcessProfiles","creditValue","deliveryType","loppAbout","learningMethodType","collectionAbout","transferValueConnections","transferValueProcess","transferIntermediaryAbout","contact","additionalInformation","jurisdiction","qa","jurisdictionAssertions","subjectsAndKeywords","relatedOrganizations","occupationsAndIndustries","costAndTime","dataSetProfileAbout","scheduledOfferingAbout","supportServiceAbout","occupationAbout","pathwayComponentAbout","workClassRequirements","MetricAbout","dataSetProfileProcess","Suggestions","Suggestion","SuggestionWrapper","AutoCompletionTextField","suggestions","setSuggestions","searchText","setSearchText","_useState7","_useState8","timer","setTimer","_onSearchTextChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","newSuggestions","_context","prev","next","t0","sent","slice","stop","apply","arguments","onSelect","notCloseOnSelect","newValue","fn","ms","clearTimeout","setTimeout","delayCallbackExecution","_x","onSearchTextChange","addItemHandler","which","keyCode","fieldName","renderOption","resultDisplayOptions","key","sortOptions","mainSearchTypeOptions","credentialIcon","organizationIcon","assessmentIcon","learningopportunityIcon","competencyframeworkIcon","collectionIcon","pathwayIcon","outcomeDataIcon","supportServiceIcon","jobIcon","occupationIcon","qaActionsIcon","rubricsIcon","transfervalueIcon","transferIntermediaryIcon","conceptSchemeIcon","progressionModelIcon","workRoleIcon","taskIcon","industryIcon","metricIcon","qualificationsFrameworkIcon","alignmentMapIcon","mapLocationSearchOption","defaultQuery","SearchType","Keywords","MapFilter","PositionType","PageSize","SkipPages","SortOrder","defaultMapSetting","center","lat","lng","zoom","statDataLabel","Organization","Credential","Assessment","LearningOpportunity","CompetencyFramework","AlignmentMap","Industry","Job","Metric","Occupation","OutcomeData","QualificationsFramework","Pathway","PathwaySet","ProgressionModel","CredentialingAction","Rubric","ScheduledOffering","SupportService","Task","TransferValue","TransferIntermediary","WorkRole","constructSearchQuery","SearchBar","_queryContext$query$M5","queryContext","useContext","QueryContext","wasURLInitialized","setWasURLInitialized","filterContext","FilterContext","filteredSearchTypeOptions","_queryContext$query$M4","availableOptions","targetSearchType","URLSearchParams","location","search","getDefaultDropboxIndex","defaultIndex","findIndex","_queryContext$query$M","mapPositionType","getDefaultMainSearchType","getDefaultMapLocationPositionType","onSearchButtonClick","onSelectMainSearchOption","updateQuery","onBroadTypeOptionSelect","clearSearch","IsOriginalSearchType","onMainTextSearchChange","_onMainTextSearchChange","autocompleteQuery","res","Force","FilterURI","FilterItemURI","AutocompleteContext","post","abrupt","onLocationSearchOptionSelect","onLocationTextSearchChange","_x2","_onLocationTextSearchChange","_callee2","_context2","onLocationTextSearchOptionSelect","_queryContext$query$M2","_query$MapFilter","createFancyLocationLabel","Region","Country","setCurrentQuery","widgetFilters","_m$Id","faSearch","_queryContext$query$M3","connectorSpan","MobileCarousel","CarouselWrapper","background","ConnectorBlock","Block","MobileSlider","MobileBlock","ConnectorBox","NavArrows","Carousel","wrapperRef","sliderRef","divHeight","setDivHeight","clientX","setClientX","isScrolling","setIsScrolling","offsetY","slide","direction","stepX","offsetWidth","scrollLeft","offsetHeight","newScrollX","scrollWidth","blocks","currentBlock","scroll","left","behavior","block","faChevronLeft","faChevronRight","onMouseDown","onMouseUp","onMouseMove","scrollX","newClientX","SConnector","startPoint","x","y","endPoint","stroke","StyledTabBar","TabItem","active","TabBar","activeIndex","setActiveIndex","items","onTabClick","CarouselBody","CarouselButton","CarouseBlock","history","useHistory","_e","CredentialProvidersBlock","credential_icon","_Fragment","QualityAssuranceOrgnizationsBlock","qa_organizations_icon","IndividualsBlock","individuals_icon","GovernmentAgenciesBlock","government_agencies_icon","ApplicationDevelopersBlock","application_developers_icon","SkillAndCompetencyCreatorsBlock","skills_competency_creators_icon","EmployersBlock","employers_icon","informationItems","StyledInformationPanel","curveLineBackground","LeftPanel","RightPanel","LeftTitle","LeftDescription","Description","InformationPanel","PageTitle","PageDescription","StatData","StatItem","StatItemValue","StatItemTitle","FullWidthWrapper","InnerWrapper","MobileAboutDetail","InlineLabel","Inline","MapWrapper","SectionLabel","ModalLinksWrapper","ModalLink","UnorderedList","ListWithoutBullet","LinkObject","_props$item","isExternal","isExternalURL","linkButtonType","linkTarget","SmallIcon","faExternalLinkAlt","PlainTextLink","_props$item2","_props$item3","overrideLabel","PlainTextLinkList","_props$items","WrapperTag","PlainTextLinkListWrapper","HeaderTag","PlainTextLinkListHeader","asList","PlainTextLinkListFromURLs","urls","lowerURL","indexOf","HomePage","setCurrentBlock","statData","setStatData","_data$Result","Total","margin","LinkButtonSection","Error","ReportsPage","match","params","loading","setLoading","pageContent","setPageContent","setError","err","LoadingIndicatorWrapper","InnerHTML","html","HeaderMain","CompareButtonWrapper","CompareButton","disabled","CompareCount","CompareIcon","HeaderLeft","HeaderRight","Logo","Tagline","MainMenu","SearchLink","addCompareItem","compareGraph","getCompareItems","CTID","saveCompareItems","removeCompareItem","propertyName","SiteCompareData","localStorage","getCompareItemsByType","_m$BroadType","_m$CTDLType","addOrUpdateCompareItem","splice","updateStateOnCompareChange","updateStateMethod","_widgetConfig$LogoIma","_widgetConfig$LogoIma2","_widgetConfig$LogoIma3","useLocation","isMobileMenuOpen","setIsMobileMenuOpen","compareItems","setCompareItems","showCompareButton","pathname","findType","_mainSearchTypeOption","widgetHideFilter","name","_Widget$Config","_Widget$Config$HideGl","_toConsumableArray","widgetConfig","widgetLogoURL","LogoUrl","widgetLogoFile","LogoImage","Files","RawData","BannerText","NavLink","to","NavigationSkipButton","querySelector","focus","exact","onCompareButtonClick","comparePanel","MobileMenuButton","faBars","ContentBegins","tabIndex","defaultLoadingComponent","defaultErrorComponent","LoadingOrError","loadingComponent","errorComponent","PageSectionItem","filled","noBorder","PillWrapper","PillLink","useTitle","targetWindow","TruncatedItemList","_props$source","startExpanded","ListItemsComponent","TruncatedListItems","source","TruncatedList","listCSSClass","listItemsCSSClass","itemIndex","truncateAfter","renderItemWith","ExpandButton","expandButtonCSSClass","faAngleUp","AllPills","links","link","faFilter","Pills","_ref2","ReferenceFrameworkPills","CodedNotation","TargetNode","FrameworkName","Framework","frameworks","framework","_item$Framework","_item$FrameworkName","FrameworkItemList","FrameworkItem","FrameworkItemName","itemTypeLabel","isFilled","isArray","Number","isInteger","Boolean","AboutDetail","org","AgentType","SearchPills","LifeCycleStatusType","DisplayPills","AlternateName","Connections","PlaceList","Place","PlaceWrapper","Identifier","identifier","IdentifierType","IdentifierTypeName","IdentifierValueCode","AddressText","StreetAddress","AddressLocality","AddressRegion","AddressLocalityAndRegion","PostalCode","AddressCountry","setupMap","googleMap","maps","places","defaultMapZoom","markers","infoWindows","bounds","LatLngBounds","place","Latitude","Longitude","latLng","marker","Marker","position","MarkerLabel","MarkerTitle","addressText","infoWindow","InfoWindow","ResourceName","ResourceProviderName","addListener","resultDiv","scrollIntoView","classList","add","remove","otherWindow","close","open","markerPosition","getPosition","panTo","set","extend","isEmpty","setCenter","setZoom","fitBounds","ModalLinks","renderModalLink","OutlineList","Outline","OutlineWrapper","Image","TextItem","OutlineType","ExtraData","Value","ProviderList","provider","substring","Tags","Box","BoxLabel","BoxContent","SectionContent","SectionContentItem","SectionContentItemWrapper","RenderWith","LinkItem","JurisdictionProfileList","JurisdictionProfile","mainJurisdictionLabel","jurisdictionExceptionLabel","isGlobalJurisdictionText","_props$item$Jurisdict","JurisdictionProfileWrapper","GlobalJurisdiction","MainJurisdiction","JurisdictionException","AssertedBy","HasAnyFilled","some","ContactPointList","ContactPoint","_props$item$Telephone","_props$item$Email","_props$item$SocialMed","ContactPointWrapper","ContactDetails","ContactName","ContactType","Telephone","ContactTelephone","FaxNumber","ContactFaxNumber","Email","ContactEmail","email","SocialMedia","ContactSocialMedia","SocialMediaIcon","domainParts","domain","definition","findIconDefinition","prefix","iconName","LocationPageSection","_generic$Email","_generic$SocialMedia","selectedAddressIndex","setSelectedAddressIndex","generic","Address","AvailableAt","contactOnlyLocations","_location$TargetConta","TargetContactPoint","allLocationContacts","flatMap","nonLocationContacts","nextMapMarkerOnClick","nextIndex","fallbackIndex","entityType","mainJurisdicionLabel","locationsIcon","pageSectionDescription","AvailabilityListing","listing","AvailabilityLink","LocationScroller","LocationScrollerButton","LocationScrollerContent","NumberedLocation","GoogleMap","defaultCenter","defaultZoom","bootstrapURLKeys","yesIWantToUseGoogleMapApiInternals","onGoogleApiLoaded","LocationListing","LocationListingItem","LocationListingItemButton","SameAs","Jurisdiction","NumberedLocationWrapper","LocationNumber","isOpen","setIsOpen","LocationListingHeading","faChevronDown","LocationListingContent","PageBanner","Meta_HasVerificationBadge","bannerIcon","fallbackIcon","CTDLTypeLabel","OwnedByLabel","Meta_LastUpdatedHeader","Meta_Id","marginLeft","getLegacyLink","faCheck","CustomButtonBox","resource","customButtonBoxID","setCustomButtonBoxID","isInIframe","setupCustomButtonBox","container","getElementById","eventData","innerHTML","Data","cssText","Style","click","renderToString","_props$resource","CustomButtonContainer","StyledModal","Body","Heading","HeadingText","SubHeading","Close","ajaxCacheData","getResourceByURI","uri","updateState","onLoading","Status","englishOrNull","languageMap","startsWith","createKeywordSearchLink","createKeywordSearchLinkListFromCredentialAlignmentObjectList","itemList","createReferenceFrameworkFromCredentialAlignmentObject","cao","AJAXCacheV2","getResourceByURLWithoutState","customConfig","Response","OnSuccess","OnError","headers","handler","ModalButtonAndWindow","OuterWrapper","ModalButtonWrapper","loadedData","setLoadedData","getDataOnClickFromURL","InvisibleButton","onFocus","_props$onButtonClick","onButtonClick","call","result","ButtonContent","padding","buttonLabel","hideCount","overrideCount","stopPropagation","resourceTitle","modalTitle","JurisdictionAssertions","AccreditedIn","ApprovedIn","OfferedIn","RecognizedIn","RegulatedIn","QualityAssurancePageSection","_props$item$QAReceive","_props$item$OwnerQARe","mergedJurisdictionAssertions","qaIcon","QAReceived","OwnerQAReceived","QAPerformed","JSONLinkedDataModal","JSONLinkedData","setJSONLinkedData","setModalIsOpen","getJSONLinkedData","tries","_item$RegistryData","_item$RegistryData$Re","RegistryData","Resource","JSONLDIconButton","jsonLDIcon","Envelope","AdditionalInformationPageSection","_props$item$Alternate","_props$item$InLanguag","_props$item$License","_props$item$Rights","_props$item$HasScope","_props$item$Alternate2","_props$item$InLanguag2","copied","setCopied","additionalInfoIcon","InfoSection","alignItems","gap","ctid","navigator","clipboard","writeText","border","cursor","faCopy","CredentialId","DUNS","FEIN","OPEID","IPEDSID","ISICV4","LEICode","Comment","ListId","AltCodedNotation","SCED","VersionIdentifier","IdentifierTypename","Meta_LastUpdated","FoundingDate","DateEffective","ExpirationDate","StartDate","EndDate","DateCopyrighted","DateCreated","DateModified","DateValidFrom","DateValidUntil","RepositoryDate","InLanguage","License","Rights","HasScope","ListID","ShouldIndex","TextLink","outline","DateRange","bothDatesPreText","BothDatesPreText","bothDatesMidText","BothDatesMidText","fromOnlyPreText","FromOnlyPreText","toOnlyPreText","ToOnlyPreText","FromDate","ToDate","DateRangeSet","CostProfileList","CostProfile","_props$item$Condition","_props$item$CostItems","CostProfileWrapper","BasicInfo","Condition","condition","CostDetails","CostItems","CostItemList","currencySymbol","CurrencySymbol","_props$items2","CostItem","CostItemWrapper","DirectCostType","AudienceType","ResidencyType","PaymentPattern","Price","VerificationServiceProfile","profile","SubjectWebpage","OfferedBy","EstimatedCost","VerifiedClaimType","property","HolderMustAuthorizeLabel","VerificationDirectory","VerificationMethodDescription","VerificationService","TargetCredential","Profiles","profiles","values","TabSetOrSingle","validItems","TabSet","TabSetWrapper","TabButtonsWrapper","TabButtons","TabButton","switchTab","TabContents","Tab","CostManifestList","CostManifest","_props$item$Estimated","ValueProfileList","ValueProfile","valueText","MinValue","MaxValue","Percentage","CreditLevelType","CreditUnitType","Subject","AJAXResourceList","listID","setListID","setupRenderedContainer","setupAJAXResourceList","resources","StyleComponent","AJAXResourceListWrapper","getAJAXCacheV3","listItemBoxes","listeners","appendAJAXCacheV3Resource","box","listeningScrollableElements","scrollableProperties","addScrollHandlerToScrollableElements","addScrollHandler","getComputedStyle","refreshList","threshold","top","getBoundingClientRect","getResourceViaResourceCacheV3","defaultSuccess","itemContainer","_container$dataset3","_container$dataset4","defaultError","_container$dataset","_container$dataset2","AJAXCacheV3","cacheV3","wrapper","getAJAXCacheV3Resource","_match$OnSuccess","_match$OnError","appended","ok","_appended$OnSuccess","successMethod","_appended$OnError","errorMethod","elementType","cssClass","cssItem","getEnglish","renderText","renderElement","renderLink","contentURL","contentLabel","renderImage","altText","image","getDetailPageHeaderModifiedDate","dateString","modified","Date","getMonth","getDate","getFullYear","lookupSchema","SchemaGraph","Loaded","Graph","Handlers","_localStorage","Timestamp","now","cachedText","getItem","cachedData","ctdlData","ctdlasnData","qdataData","_localStorage2","graphItem","setItem","OutlineStyleBlock","renderCompetencyFromRDF","competency","relatedItemsMap","renderChildCompetencies","CompetencyContent","CompetencyPrefix","createTitledBox","CompetencyBody","CompetencyLabel","CompetencyText","_getEnglish","CompetencyExtras","createItemList","renderLinkListItem","valueBox","createVersionBox","labelElement","textContent","identifierElement","identifierText","createVersionIdentifierBox","renderSearchLinkListItem","createAJAXItemList","renderConceptListItem","listBox","_data$Graph2","concept","schemeURI","renderURL","renderLabel","renderDefinition","renderCompetencyLinkListItem","renderResourceLinkListItem","createCompetencyDSPList","renderCredentialAlignmentObjectSearchLinkListItem","contentElement","processedContent","createItemListInternals","dataList","collapsed","labelBox","successHandler","RelatedItemsMap","allMatches","mapItem","_mapItem$Path","Path","URIs","filteredMatches","encodeURIComponent","_data$Graph","code","frameworkURL","collectionURLs","containerLink","containerDiv","separator","createTextNode","itemLink","removeChild","CompetencyStyleBlock","CompetencyFrameworkList","frameworkList","CompetencyFrameworkAJAX","applicableCompetencies","Meta_HasPart","Meta_IsReferenced","CredentialRegistryURL","applicableCompetencyURLs","itemContent","listContent","ConditionProfileList","ConditionProfile","_props$item$Submissio","_props$item$Submissio2","_props$item$Submissio3","_props$item$AudienceL","_props$item$AudienceT","_props$item$CommonCos","_props$item$CommonCos2","_props$item$CommonCos3","_props$item$CreditVal","_props$item$ResidentO","_props$item$TargetCre","_props$item$TargetCre2","_props$item$TargetAss","_props$item$TargetAss2","_props$item$TargetLea","_props$item$TargetLea2","_props$item$TargetOcc","_props$item$TargetOcc2","_props$item$TargetJob","_props$item$TargetJob2","_props$item$TargetCom","_props$item$TargetCom2","_props$item$TargetCom3","_props$item$TargetCom4","_props$item$AssertedB","_props$item$AssertedB2","_props$item$Alternati","SubmissionOf","SubmissionOfDescription","Weight","submissionItem","AudienceLevelType","Experience","YearsOfExperience","MinimumAge","CommonCosts","CreditValue","CreditUnitTypeDescription","ResidentOf","TargetAssessment","TargetLearningOpportunity","TargetOccupation","TargetJob","TargetCompetency","AlternativeCondition","getConditionProfileListButtonName","prefixText","conditionProfileList","countsText","singleOrMulti","getDistinctCount","_m$TargetCredential","_m$TargetCredential2","_m$TargetAssessment","_m$TargetAssessment2","_m$TargetLearningOppo","_m$TargetLearningOppo2","_m$TargetOccupation","_m$TargetOccupation2","_m$TargetCompetency","_m$TargetCompetency$V","_m$TargetCompetency2","list","getTargets","getFallbackCount","distinctIDs","self","fallbackTotal","reduce","count","labelTemplate","ConditionManifestList","ConditionManifest","ConditionProfileSet","Requires","Recommends","Renewal","EntryCondition","Corequisite","CoPrerequisite","ProcessProfileList","ProcessProfile","_props$item$ExternalI","_props$item$ScoringMe","_props$item$Processin","_props$item$Processin2","DataCollectionMethodType","ExternalInputType","ProcessFrequency","ScoringMethodDescription","ScoringMethodExample","ProcessMethod","ProcessStandards","ProcessingAgent","TargetCompetencyFramework","renderJSONLDMetaTags","broadType","modifierMethod","_resource$RegistryDat","_resource$RegistryDat2","renderHelper","renderMethod","renderAPI_Organization","renderAPI_Credential","renderAPI_Assessment","renderAPI_LearningOpportunity","renderLD_ConceptScheme","renderLD_CompetencyFramework","renderLD_Competency","renderLD_Collection","renderAPI_Pathway","Meta_Language","render_Generic","tag","head","renderJSONLDMetaTag","asLangStringLanguage","asArray","modMethod","converted","temp","OrganizationPage","_org$AdministrationPr","_org$AdministrationPr2","_org$AppealProcess","_org$AppealProcess2","_org$DevelopmentProce","_org$DevelopmentProce2","_org$MaintenanceProce","_org$MaintenanceProce2","_org$ComplaintProcess","_org$ComplaintProcess2","_org$ReviewProcess","_org$ReviewProcess2","_org$RevocationProces","_org$RevocationProces2","_org$InDemandAction","_org$InDemandAction2","_org$InDemandAction2$","_org$InDemandAction3","orgDataIsLoading","orgDataHasError","getOrgData","setOrg","mapMarkerListeners","openedModal","setOpenedModal","HasVerificationService","typeLabel","orgIcon","MissionAndGoalsStatement","MissionAndGoalsStatementDescription","AgentPurpose","AgentPurposeDescription","ParentOrganization","Department","SubOrganization","sectorsIcon","AgentSectorType","IndustryType","ServiceType","Keyword","onOpenModalClick","modalType","onCloseModalClick","processIcon","SupportServiceStatement","TransferValueStatement","HasCostManifest","HasConditionManifest","AdministrationProcess","AppealProcess","DevelopmentProcess","MaintenanceProcess","ComplaintProcess","ReviewProcess","RevocationProcess","VerificationServiceProfiles","InDemandAction","_org$InDemandAction4","h5","FooterTop","FooterMiddle","FooterMain","FooterMenu","PoweredBy","ItemLink","ItemA","Footer","poweredByImage","rel","SearchResultItem","_addItemToCompareBucket","Wrap","OrganizationSearchResultItem","showBody","showFooter","CredentialSearchResultItem","AssessmentSearchResultItem","LearningOpportunitySearchResultItem","PathwaySearchResultItem","PathwaySetSearchResultItem","CompetencyFrameworkSearchResultItem","ScheduledOfferingSearchResultItem","SupportServiceSearchResultItem","OutcomeDataSearchResultItem","OccupationSearchResultItem","JobSearchResultItem","TaskSearchResultItem","WorkRoleSearchResultItem","TransferValueSearchResultItem","TransferIntermediarySearchResultItem","ConceptSchemeSearchResultItem","CollectionSearchResultItem","ProgressionModelSearchResultItem","CredentialingActionSearchResultItem","RubricSearchResultItem","MetricSearchResultItem","IndustrySearchResultItem","QualificationsFrameworkSearchResultItem","AlignmentMapSearchResultItem","getContent","ResultButtonWrapper","ButtonText","ButtonIcon","SButtonIcon","LocationsButton","onLocationButtonClick","LocationsButtonWrapper","faMapMarkerAlt","BaseResultItem","titleUrl","Meta_FriendlyName","lastUpdated","_props$item$OwnedByLa","_props$item$OwnedByLa2","Meta_Icon","preTitle","subTitleUrl","_props$item$OwnedByLa3","_props$item$OwnedByLa4","_props$item$OwnedByLa5","_props$item$OwnedByLa6","learningOpportunityIcon","learningProgramIcon","courseIcon","_props$item$OwnedByLa7","_props$item$OwnedByLa8","competencyFrameworkIcon","_props$item$OwnedByLa9","_props$item$OwnedByLa10","_props$item$OwnedByLa11","_props$item$OwnedByLa12","pathwaySetIcon","_props$item$OwnedByLa13","_props$item$OwnedByLa14","scheduledOfferingIcon","_props$item$OwnedByLa15","_props$item$OwnedByLa16","_props$item$OwnedByLa17","_props$item$OwnedByLa18","_props$item$OwnedByLa19","_props$item$OwnedByLa20","_props$item$OwnedByLa21","_props$item$OwnedByLa22","_props$item$OwnedByLa23","_props$item$OwnedByLa24","_props$item$OwnedByLa25","_props$item$OwnedByLa26","_props$item$OwnedByLa27","_props$item$OwnedByLa28","qaActionIcon","_props$item$OwnedByLa29","_props$item$OwnedByLa30","rubricIcon","_props$item$OwnedByLa31","_props$item$OwnedByLa32","_props$item$OwnedByLa33","_props$item$OwnedByLa34","_props$item$OwnedByLa35","_props$item$OwnedByLa36","_props$item$OwnedByLa37","_props$item$OwnedByLa38","_props$item$OwnedByLa39","_props$item$OwnedByLa40","transferValueIcon","headerExtraText","_props$item$OwnedByLa41","_props$item$OwnedByLa42","_props$item$OwnedByLa43","_props$item$OwnedByLa44","_props$item$OwnedByLa45","_props$item$OwnedByLa46","_props$item$OwnedByLa47","_props$item$OwnedByLa48","setShowBody","setShowFooter","showMoreBody","setShowMoreBody","ContentWrap","IconWrapper","PreTitle","LastUpdated","HeaderExtraText","MoreButton","renderBody","TopRegion","ResultsSection","ResultsSectionBody","ResultList","ResultItem","ResultBodytHeader","ResultListHeaderSection","ResultBodyContent","IconButton","ExportButton","DropdownSection","DropdownGroup","GroupButton","ResultCount","ResultListItems","TitleBlock","HideButton","Checkbox","FilterItemOption","FilterItemLabel","FilterItemDescription","FilterItemAddButton","AddedItem","StyledFilterOption","CFilterItem","isCheckbox","isAutocompleteTextBox","isTextBox","isTextboxFilter","_getAutoCompleteSuggestions","onAddItemFromTextBox","isChecked","_find","isTheBoxChecked","box1","checked","box2","_find2","currentItems","getAutoCompleteSuggestions","suggestItem","RemoveItem","RemoveItemButton","FilterPanel","getStatusOfFilterItem","filterItem","_find$Items","currentFilters","getAddedFilterItemsFromAutocomplete","filterIdentifier","_props$currentFilters","onHide","availableFilters","FilterType","autoCompleteFilterItems","getStatus","onSelectFilter","onUpdateFilter","FilterTypeWrapper","FilterTypeTitle","h4","marginRight","status","EmptyResult","supportServicesIcon","transerValueIcon","transerIntermediaryIcon","HSection","SearchResultPillSection","tagSets","indentifier","detailPageLink","showItems","setShowItems","tagItems","setTagItems","selectedSetTagIndex","setSelectedSetTagIndex","_useState9","_useState10","liveTagData","setLiveTagData","_onTagSetClick","tagSet","results","QueryData","onTagItemClick","newFilterItem","FilterItemID","FilterItemText","newFilter","FilterID","filterWithId","filterItemWithUrlId","hideCountsFor","_tagSet$Label","_x3","onTagSetClick","BackToTopButton","getElementsByClassName","scrollY","UpButton","scrollTo","emptySearchResult","TotalResults","Results","SearchPage","method","panelIsOpen","setPanelIsOpen","viewMode","setViewMode","searchResult","setSearchResult","initialLoading","setInitialLoading","scrollLoading","setScrollLoading","_useState11","_useState12","searchAble","setSearchAble","resultRef","googleMaps","mapMarkers","_useState13","_useState14","displayMode","setDisplayMode","_useState15","_useState16","inExportMode","setInExportMode","_useState17","_useState18","isExportRunning","setIsExportRunning","useMemo","parametersFromURL","doSearch","_parametersFromURL$fi","StarterKeywords","RemovedOrganizationRoleFilter","filterparameters","filteritemtext","filterid","filteritemid","_SearchFilters","_SearchFilters$query$","_query$SearchType","_filterData$Items","_filterData$Items$fin","filterItemID","filterData","SearchFilters","filterItemLabel","pillBox","Filter","_Filter$Items","Item","onclick","stringified","PreviousMainSearchStringified","_filterItem$Label","keywords","timeoutName","delayMS","TimeoutList","resultsLocations","_queryContext$query","locationField","mapFilter","latitude25Unit","resultLocations","_result$OwnedByLabel","isValidLocation","BBoxCenterLatitude","BBoxCenterLongitude","_place$AddressRegion","_mapFilter$Region","_place$AddressLocalit","_mapFilter$Label","isInPlace","latitudeDistance","Math","abs","longitudeDistance","latitudeDistanceThreshold","longitudeDistanceThreshold","longitude25Unit","latDistance","lonDistance","setMap","_document$querySelect","minHeight","loadMore","documentElement","scrollTop","scrollHeight","_parameters$filterid","_parameters$filterite","_parameters$filterite2","_parameters$keywords","_parameters$filterpar","_parameters$searchtyp","parameters","filterId","filterItemId","filterItemText","filterParameters","searchtype","filterFromContext","generateQueryFromURL","isCurrentFetch","_getSearchResults","isFirstPage","totalResults","_res$data$Result","_res$data$Result2","appendResults","newSearchResults","OldSkipPages","getSearchResults","_useState19","_useState20","focusedOnMarkersForResult","setfocusedOnMarkersForResult","tryFocusOnMarkersForResult","resultID","attemptsRemaining","markersForResult","setOpacity","google","getZoom","getExportProgress","force","TrackExportProgress","MaxExportTrackingTickets","ExportTransactionGUID","_response$data","_response$data$Result","_response$data2","_response$data2$Resul","TotalItems","ProcessedItems","updateExportWindow","total","percentage","ceil","bar","IsExportMode","file","Blob","dataURL","createObjectURL","download","revokeObjectURL","alert","Messages","widgetAvailableFilters","_window$Widget7","_window$Widget7$Confi","_window$Widget7$Confi2","hiders","HideFiltersAndItems","updated","_hider$ItemIDs","hider","Selected","ItemIDs","widgetPruneFiltersAndOptions","getDefaultSortOption","faList","SearchTags","ExportDisplay","startExport","cancelExport","ExportOverlay","ExportModal","ExportLabelWrapper","ExportLabel","ExportStartButton","AllowExportProgress","ExportCancelButton","ExportDescription","ExportBarWrapper","ExportBar","ComparePage","currentTab","setCurrentTab","getRawCompareData","Meta_IsLoaded","Meta_IsError","getCompareDataFromShareLink","currentParams","sharelessParams","replaceState","_window$location$sear","HtmlLink","HtmlDiv","LinksAsPlainList","ReferenceFrameworkList","OccupationType","DurationProfileList","EstimatedDuration","_item$FinancialAssist","FinancialAssistance","FinancialAssistanceType","_item$IsRequiredFor","OutlinesAsLinkList","IsRequiredFor","showType","OutcomeSummaryList","aggregateData","AggregateData","externalData","ExternalDataSetProfiles","credentialCompareData","setCredentialCompareData","organizationCompareData","setOrganizationCompareData","AssessmentMethodType","DeliveryType","_item$FinancialAssist2","_item$IsRequiredFor2","assessmentCompareData","setAssessmentCompareData","LearningMethodType","_item$FinancialAssist3","_item$IsRequiredFor3","_m$TargetCredential3","learningOpportunityCompareData","setLearningOpportunityCompareData","transferValueCompareData","setTransferValueCompareData","pathwayCompareData","setPathwayCompareData","competencyFrameworkCompareData","setCompetencyFrameworkCompareData","collectionCompareData","setCollectionCompareData","_useState21","_useState22","conceptSchemeCompareData","setConceptSchemeCompareData","_useState23","_useState24","competencyCompareData","setCompetencyCompareData","_useState25","_useState26","supportServiceCompareData","setSupportServiceCompareData","_useState27","_useState28","loaded","setLoaded","onItemLoad","removeItem","DropdownWrapper","CompareOptionButtons","CompareOptionButton","print","csv","readItems","credential","assessment","learningopportunity","transfervalue","pathway","pathwayset","competencyframework","collection","conceptscheme","csvText","row","rowText","blob","blobURL","urlPart","rowData","flattenLinks","flattenCosts","duration","DurationSummary","financial","flattenPlaces","flattenConditionProfiles","flattenOutcomes","costs","costProfile","_costProfile$CostItem","costItem","_costItem$DirectCostT","conditionProfiles","includeDescription","includeCondition","includeTargetCredentials","conditionProfile","combined","combineOutcomesData","adp","RelevantDataSet","dsp","DataSetTimePeriod","dstf","DataAttributes","dp","qvalue","currency","downloadData","prompt","getShareLink","CompareTabContent","properties","update","PrintContent","_useState29","_useState30","_useState31","_useState32","sourceData","setSourceData","CompareTableWrapper","NoCompareData","CompareTable","propertyIndex","sourceIndex","rowSpan","LoadCompareItem","CollapseButton","toggleCollapse","CollapseContent","PrintList","PrintHeader","PrintListItem","CostProfileData","_props$source$CostIte","CostProfileName","_item$DirectCostType","CostProfileItem","CostProfileItemDetails","CostProfileItemPrice","PlaceData","_props$source$TargetC","_contact$Telephone","_contact$SocialMedia","phone","social","ReferenceFrameworkItem","ReferenceFrameworkWrapper","ConditionProfileData","ConditionProfileWrapper","OutcomeSummaryListItem","adpQValues","JobsObtainedList","appendQValue","LowEarnings","MedianEarnings","HighEarnings","OutcomeSummaryItemWrapper","PostReceiptMonths","QuantitativeValueList","_dsp$DataSetTimePerio","_dstf$DataAttributes","CompareAntiCrash","stringItem","testItem","Count","Meta_IsLoading","rawCompareData","NoItemData","_props$source2","_props$source3","_item$Tags","_item$Tags$","_props$source4","_props$source5","DurationProfileWrapper","_props$source6","_props$source7","groups","group","fake","_m$RelevantDataSet","NoData","table","SubjectsAndKeywordsPageSection","looseItem","subjectIcon","InstructionalProgramType","LocalSubject","ConceptTerm","ConceptKeyword","OccupationsAndIndustriesSection","WorkforceDemandAction","ActionStatusType","Instrument","EvidenceOfAction","Participant","ActingAgent","AJAXModal","loaders","setLoaders","scrollTimer","refreshLoaders","cached","Success","loadItems","offsetTop","_document$getElements","ModalWrapper","RelativeBody","onScroll","loader","ItemWrapper","SuccessRenderMethod","ErrorRenderMethod","LoadingWrapper","CompetencyPage","_competency$Comment","_competency$Meta_JSON2","_competency$Meta_JSON3","_competency$Meta_JSON4","_competency$Meta_JSON5","_competency$Meta_JSON6","_competency$Meta_JSON7","_competency$Meta_JSON8","_competency$Meta_JSON9","_competency$Meta_JSON10","dataIsLoading","setDataIsLoading","setCompetency","localAJAXCache","setLocalAJAXCache","partOfFramework","setPartOfFramework","memberOfCollections","setMemberOfCollections","substantiatingCompetencyFrameworks","setSubstantiatingCompetencyFrameworks","substantiatingCredentials","setSubstantiatingCredentials","substantiatingOrganizations","setSubstantiatingOrganizations","substantiatingOccupations","setSubstantiatingOccupations","substantiatingJobs","setSubstantiatingJobs","substantiatingWorkRoles","setSubstantiatingWorkRoles","substantiatingTasks","setSubstantiatingTasks","isChildOf","setIsChildOf","derivedFrom","setDerivedFrom","complexityLevel","setComplexityLevel","_useState33","_useState34","educationLevelType","setEducationLevelType","_useState35","_useState36","environmentalHazardType","setEnvironmentalHazardType","_useState37","_useState38","performanceLevelType","setPerformanceLevelType","_useState39","_useState40","physicalCapabilityType","setPhysicalCapabilityType","_useState41","_useState42","sensoryCapabilityType","setSensoryCapabilityType","_useState43","_useState44","hasProgressionLevel","setHasProgressionLevel","_useState45","_useState46","setRelatedItemsMap","_useState47","_useState48","relatedWorkRoles","setRelatedWorkRoles","getLinks","targetNameProperty","currentValue","setMethod","convertToFinderURL","appendText","isArrayValue","appendLink","alteredURL","getOrganizationOutlineByURI","createIdentifier","_loaded$Result","_loaded$Result2","_loaded$Result3","_loaded$Result4","_competency$Meta_JSON","metadata","_resource$ceasnInLan","_englishOrNull","_filter","_resource$cetermsIns","_resource$cetermsInd","_resource$cetermsOcc","_resource$Id","_resource$ceasnCreat","_resource$ceasnCreat2","_resource$ceasnCreat3","CompetencyCategory","HasChild","IsChildOf","Creator","Meta_JSON","convertDataToCompetency","Metadata","typeLabelPlural","distinctData","l","competenciesbannerIcon","RelatedLinkSetFromURLs","RelatedLinkSet","connectionsIcon","AJAXModalForCompetencyConnections","urlProperty","RenderWorkforceDemand","RenderError","_props$competency","_props$competency$Met","outboundValue","outboundURLs","inboundURLs","_map$Path$match","_props$links","RelatedLinkList","PageSectionItemHeader","_props$urls","RelatedListItem","CompareSelectedListPanel","ComparePanelCloseButton","onClose","CompareTypes","CollapsibleCompareItems","setItems","CompareItemsWrapper","CompareItemsWrapperTitle","CompareItemTitle","CompareItemsWrapperItem","CompareSubItemTitle","CompareItemRemoveButton","AssessmentMethodDescription","DeliveryTypeDescription","AssessmentUseType","LearningMethodDescription","ScheduleTimingType","OfferFrequencyType","ScheduleFrequencyType","DegreeConcentration","RelatedOrganizationPageSection","_looseItem$OwnedBy","_looseItem$OfferedBy","_looseItem$OwnedOffer","_looseItem$RenewedBy","_looseItem$RevokedBy","_looseItem$Creator","_looseItem$Publisher","_looseItem$DataProvid","_looseItem$AssertedBy","_looseItem$ActingAgen","_looseItem$Participan","_looseItem$ThirdParty","OrganizationSection","OwnedBy","innerKey","OwnedOfferedBy","RenewedBy","RevokedBy","CopyrightHolder","Publisher","RightsHolder","DataProviderMain","ThirdPartyPublisherPublisher","_props$values","RelatedOrganizationPageSectionAJAXResourceList","OrganizationSectionAJAXResourceList","FinancialAssistanceValue","CostsAndTimePageSection","_props$item$Financial","costIcon","CommonConditions","TogglerButton","ExpandableP","ExpandableText","showMore","setShowMore","isExpandable","ConnectionsSection","_props$item$Collectio","_props$item$IsRequire","_props$item$IsRecomme","_props$item$AdvancedS","_props$item$IsAdvance","_props$item$Preparati","_props$item$IsPrepara","_props$item$SupportSe","_props$item$HasTransf","_props$item$HasTransf2","_props$item$HasSuppor","_props$item$HasSuppor2","_props$item$TargetPat","_props$item$TargetPat2","_props$item$ProvidesT","_props$item$ProvidesT2","_props$item$ReceivesT","_props$item$ReceivesT2","_props$item$ObjectOfA","_props$item$ObjectOfA2","_props$item$HasRubric","_props$item$HasRubric2","_props$item$RelatedAc","_props$item$RelatedAc2","_props$item$RelatedDa","_props$item$RelatedDa2","_props$item$HasTransf3","_props$item$HasSuppor3","_props$item$TargetPat3","_props$item$TargetAss3","_TargetLearningOpport","_props$item2$Provides","_props$item3$Receives","_props$item4","_props$item4$ObjectOf","_props$item5","_props$item5$HasRubri","_props$item6","_props$item6$HasRubri","_props$item6$HasRubri2","_props$item7","_props$item8","_props$item8$HasRubri","_props$item10","_props$item11","_props$item11$Related","_props$item13","_props$item14","_props$item14$Related","_props$item$RequiresC","_props$item$RequiresC2","_props$item$AssessesC","_props$item$AssessesC2","_props$item$TeachesCo","_props$item$TeachesCo2","_props$item$RequiresC3","_props$item$RequiresC4","_props$item$TeachesCo3","_props$item$TeachesCo4","_props$item$AssessesC3","_props$item$AssessesC4","_props$item$AlignFrom","_props$item$AlignTo","_props$item$DerivedFr","IsRecommendedFor","AdvancedStandingFrom","IsAdvancedStandingFor","PreparationFrom","IsPreparationFor","SupportServiceCondition","HasTransferValue","HasSupportService","TargetPathway","ProvidesTransferValueFor","ReceivesTransferValueFrom","ObjectOfAction","HasRubric","RelatedActions","RelatedDataSetProfiles","_props$item$HasTransf4","_props$item$HasSuppor4","_props$item$TargetPat4","_props$item$TargetAss4","_TargetLearningOpport2","_props$item$ProvidesT3","_props$item$ReceivesT3","_props$item$ObjectOfA3","_props$item9","_props$item9$HasRubri","_props$item12","_props$item12$Related","_props$item15","_props$item15$Related","RequiresCompetencies","AssessesCompetencies","TeachesCompetencies","TargetLearningResource","AlignFrom","AlignTo","DerivedFrom","QuantitativeValueSingle","QuantitativeValueWrapper","QVLabel","QVProperty","UnitText","QVNumbers","QVNumber","itemsWithValues","QuantitativeValueListWrapper","MonetaryAmountSingle","commatizeNumber","MonetaryAmountList","counter","parts","numbers","reverse","char","DataSetProfileSingle","_props$item$DataSetTi","_props$item$Distribut","_props$item$Instructi","_props$item$About","DataSetProfileWrapper","HasMetric","metric","DataSetMetricMinimal","timeFrame","DataSetTimeFrameSingle","DataSuppressionPolicy","SubjectIdentification","Source","DistributionFile","About","DataProvider","_props$item$DataSourc","_props$item$DataAttri","DataSetTimeFrameWrapper","TimeIntervalDisplay","DataSourceCoverageType","dataProfile","substr","DataProfileSingle","DataSetTimeFrameSingleMinimal","_props$item$DataSourc2","_props$item$Administr","_props$item$IncomeDet","_props$item$EarningsD","DataProfileWrapper","Adjustment","EarningsDefinition","EarningsThreshold","EmploymentDefinition","FacultyToStudentRatio","WorkTimeThreshold","AdministrativeRecordType","IncomeDeterminationType","EarningsDistribution","MonetaryAmountDistributionSingle","EarningsAmount","DataAvailable","DataNotAvailable","DemographicEarningsRate","DemographicEmploymentRate","EmploymentRate","HoldersInSet","IndustryRate","InsufficientEmploymentCriteria","MeetEmploymentCriteria","NonCompleters","NonHoldersInSet","OccupationRate","PassRate","RegionalEarningsDistribution","RegionalEmploymentRate","RelatedEmployment","SubjectsInSet","SufficientEmploymentCriteria","UnrelatedEmployment","TotalWIOACompleters","TotalWIOAParticipants","TotalWIOAExiters","MonetaryAmountDistributionWrapper","EarningsDisplay","Currency","MaxBarHeight","Percentile10","Percentile25","Median","Percentile75","Percentile90","MetricType","AggregateDataProfileSection","_props$item$JobsObtai","_props$item$RelevantD","DemographicInformation","dataSetProfile","AggregateDataProfileList","AggregateDataProfiles","max","EarningsDisplayWrapper","EarningsDisplayItem","EarningsItemBar","EarningsItemLabel","EarningsItemValue","OutcomesDataPageSectionItem","_props$aggregateDataP","_props$dataSetProfile","_props$dataSetProfile2","aggregateDataProfiles","dataSetProfiles","dataSetProfileCTIDsReferencedByAggregateDataProfiles","_adp$RelevantDataSet","otherDSP","externalDataSetProfilesSansAggregateDataProfileReferences","AssessmentPage","_pageModel$AvailableO","_pageModel$Administra","_pageModel$Administra2","_pageModel$Developmen","_pageModel$Developmen2","assessmentDataIsLoading","assessmentDataHasError","getAssessmentData","pageModel","setAssessment","AvailableOnlineAt","InCatalog","scoringIcon","ScoringMethodType","IsNonCredit","IsProctored","HasGroupEvaluation","HasGroupParticipation","exampleIcon","AssessmentOutput","AssessmentExample","ExternalResearch","CollectionPage","_rawCollectionData$ce","_collection$Collectio","_collection$Connectio","_rawCollectionData$ce2","setCollection","rawCollectionData","setRawCollectionData","graph","setGraph","membershipConditionList","setMembershipConditionList","rawCollectionDataNow","convertDataToCollection","_resource$cetermsSub","LatestVersion","PreviousVersion","NextVersion","CollectionType","HasMember","jumpToMemberCTID","targetCTID","attempts","loadResourceSetAsAJAXSettingsOutline","sourceURIs","refreshProfile","convertBasicDataToBasicConditionProfile","_source$cetermsAlter","costProfileList","creditValueList","_source$cetermsCurre","createCostItemListFromSourceItem","createJurisdictionProfileListFromSourceList","_source$cetermsDirec","costType","jurisdictionProfileList","createPlaceListFromSourceList","placeList","PostOfficeBoxNumber","_rawCollectionDataNow","sourceList","stateList","setStateMethod","_rawCollectionDataNow2","relatedItemsMapData","graphItemsData","RelatedItems","sourceItem","convertDataToConditionProfile","Collection","updatedCollection","collectionMembers","collectionMemberResourceURLs","member","CollectionMemberCount","renderCollectionMemberDataV2","CollectionMemberStyleBlock","RelatedDataPageSection","memberBox","resourceBox","resourceBoxImage","resourceBoxContent","providerSource","providerURI","classification","getImageUrl","flexDirection","schemaGraph","_schemaGraph$find","totalConcepts","totalConceptsButton","downArrowIcon","upArrowIcon","classificationContainer","classificationItem","lastIndexOf","VanillaRendererStyleBlock","credentialType","relatedItemSets","pathMatch","relatedItemURIs","CollectionPageV2","pageDataIsLoading","pageDataHasError","getPageData","setPageData","pageIcon","CompetencyFrameworkPage","paramSearch","CompetencyFrameworkPageV2","_competencyFramework$2","_competencyFramework$3","_competencyFramework$4","_competencyFramework$5","competencyFramework","setCompetencyFramework","competencies","setCompetencies","relatedItems","setRelatedItems","rawCompetencyFramework","setRawCompetencyFramework","publicationStatusText","setPublicationStatusText","jumpToCompetencyCTID","_data$RelatedItems","_data$RelatedItems2","_competencyFramework$","_resource$ceasnLocal","_resource$ceasnPubli","_ref$map","HasProgressionModel","PublicationStatusType","EducationLevelType","PublisherName","HasTopChild","convertDataToCompetencyFramework","_data$Resource","_resource$ceasnInLan2","addResourceToCache","Related","_success$Graph","_success$Graph$","topCompetencies","referencedByCredentials","getDSPConnectionURIs","referencedByAssessments","referencedByLearningOpportunities","referencesConceptSchemes","referencedByJobs","referencedByOccupations","referencedByTasks","expression","uris","test","_match$URIs","competenciesIcon","CompetencyListSummary","ConnectionsSectionForDSPModal","uriList","_props$uriList","_data$Id","renderOutline","CompetencyExtraListItem","ConceptSchemePage","_conceptScheme$HasTop","conceptScheme","setConceptScheme","concepts","setConcepts","jumpToConceptCTID","convertDataToConceptScheme","convertDataToConcept","HasTopConcept","conceptsBannerIcon","AlignmentListHelper","conceptsIcon","Concept","allConcepts","_resource$ceasnConce","_resource$ceasnPubli$","_resource$ceasnPubli2","PrefLabel","HiddenLabel","AltLabel","Broader","BroadMatch","ChangeNote","CloseMatch","ExactMatch","InScheme","Narrower","NarrowMatch","TopConceptOf","Definition","Notation","RelatedWorkRole","getRelatedWorkRole","Note","workroles","wireupExtras","_item$querySelector","_props$allConcepts","_props$concept$Relate","_props$concept$Narrow","ConceptWrapper","ConceptContent","ConceptPrefix","ConceptPrefixItem","ConceptBody","ConceptName","ConceptDefinition","ConceptNote","ConceptCTID","ConceptExtras","ConceptAlignmentList","RelatedWorkRoles","relatedResource","ChildConcepts","narrowerURI","conceptAlignments","alignmentTypes","alignment","_match$skosInScheme","alignmentPrefix","alignmentLabel","alignmentTerm","alignmentPostfix","targetURL","targetLabel","relatedItem","_relatedItem$type$pro","_relatedItem$skosInS","ConceptExtraListSimple","AlignmentWrapper","RenderAsyncResource","RenderComponent","conceptData","conceptSchemeData","containerRef","_document$getElementB","_document$getElementB2","_document$getElementB3","_document$getElementB4","setAttribute","listStyleType","waiterRef","ResourceData","ScrollHelper","i","run","checkInterval","checkScrollPosition","_waiterRef$current","outerHeight","resourceData","Triggered","resourceDataArray","json","statusText","debugFlag","scrollHelper","clearInterval","ConceptExtraListWrapper","ConceptExtraListSummaryButton","ConceptExtraListSummaryWrapper","ConceptExtraListValues","ConceptExtraListItem","CredentialType","CredentialStatusType","LearningDeliveryType","AssessmentDeliveryType","DegreeMajor","DegreeMinor","DurationProfile","_props$item$Descripti","_props$item$DurationS","RevocationProfile","_props$item$Revocatio","_props$item$Revocatio2","RevocationProfileWrapper","RevocationCriteria","CredentialPage","_pageModel$LatestVers","_pageModel$PreviousVe","_pageModel$NextVersio","_pageModel$Supersedes","_pageModel$Superseded","_pageModel$Revocation","_pageModel$CommonCost","_pageModel$Assessment","_pageModel$LearningOp","_pageModel$HasPart","_pageModel$HasPart2","_pageModel$HasPart2$V","_pageModel$HasPart3","_pageModel$IsPartOf","_pageModel$IsPartOf2","_pageModel$IsPartOf2$","_pageModel$IsPartOf3","_pageModel$AppealProc","_pageModel$AppealProc2","_pageModel$Maintenanc","_pageModel$Maintenanc2","_pageModel$ComplaintP","_pageModel$ComplaintP2","_pageModel$ReviewProc","_pageModel$ReviewProc2","_pageModel$Revocation3","_pageModel$Revocation4","getData","setCredential","Supersedes","SupersededBy","RenewalFrequency","RenewedIn","RevokedIn","Revocation","_pageModel$Revocation2","RevocationProfileList","AssessmentCost","LearningOpportunityCost","AssessmentEstimatedDuration","DurationProfileSourceWrapper","LearningOpportunityEstimatedDuration","HasPart","_pageModel$HasPart4","IsPartOf","_pageModel$IsPartOf4","CredentialingActionPage","_pageModel$Object","_pageModel$Instrument","marginTop","DataSetProfilePage","_pageModel$About","_pageModel$Distributi","_pageModel$DataSetSpa","_pageModel$DataSetTem","_pageModel$DataSetTem2","_pageModel$DataSetTem3","_pageModel$DataSetTem4","_pageModel$DataSetTem5","_pageModel$DataSetTem6","_pageModel$DataSetTem7","_pageModel$DataSetTem8","_pageModel$DataSetTem9","_pageModel$DataSetTem10","_pageModel$DataSetTem11","_pageModel$DataSetTem12","_pageModel$DataSetTem13","_pageModel$DataSetTem14","_pageModel$HasMetric","_pageModel$DataSetTim","_pageModel$HasDimensi3","_pageModel$HasDimensi4","_selectedDimension$Ha","_pageModel$HasDimensi5","_pageModel$HasDimensi6","_selectedDimension$Ha2","_pageModel$HasMetric2","_pageModel$DataSetTim2","_pageModel$Administra3","_pageModel$Administra4","_pageModel$Developmen3","_pageModel$Developmen4","_pageModel$Maintenanc3","_pageModel$Maintenanc4","_pageModel$Maintenanc5","_pageModel$ReviewProc3","_pageModel$ReviewProc4","_pageModel$ReviewProc5","selectedDimension","setSelectedDimension","_pageModel$HasDimensi","HasDimension","DataSetSpatialCoverage","DataSetTemporalCoverage","styles","tableContainer","headerCell","colSpan","HasPointSummary","_pageModel$HasDimensi2","selectedIndex","dropdown","dim","idx","TextDisplay","DimenstionType","point","_point$ResourceSummar","_point$ResourceSummar2","ResourceSummary","rowIndex","_metric$MetricType$","_selectedDimension$Ha3","_pageModel$HasObserva2","_pageModel$HasObserva","observations","HasObservation","obs","_obs$IsObservationOf","_obs$AtPoints","IsObservationOf","AtPoints","RowId","dataCell","observation","obsIndex","renderObservation","EntityTypeId","_observation$IsObserv","DataSetTimePeriodHistoricalData","HasDataSetDistribution","DataSetDistributionComponent","HasDataSetService","DataSetServiceComponent","_item$AlternateName","MediaType","license","licenseIndex","_item$AlternateName2","pointType","timeframes","_obs$DataWithholdingT","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","format","DataWithholdingType","SizeOfData","SizeOfPopulation","pointIndex","matchingTimeframe","timeframe","borderCollapse","textAlign","verticalAlign","fontWeight","cell","borderRadius","IndustryPage","_pageModel$HasJob","_pageModel$HasJob2","_pageModel$HasJob2$Va","_pageModel$HasJob3","_pageModel$HasOccupat","_pageModel$HasOccupat2","_pageModel$HasOccupat3","_pageModel$HasOccupat4","HasJob","_pageModel$HasJob4","HasOccupation","_pageModel$HasOccupat5","JobPage","_pageModel$HasSupport","_pageModel$HasSupport2","_pageModel$HasSupport3","_pageModel$HasSupport4","_pageModel$HasWorkRol","_pageModel$HasWorkRol2","_pageModel$HasWorkRol3","_pageModel$HasWorkRol4","_pageModel$HasTask","_pageModel$HasTask2","_pageModel$HasTask2$V","_pageModel$HasTask3","_pageModel$KnowledgeE","_pageModel$KnowledgeE2","_pageModel$AbilityEmb","_pageModel$AbilityEmb2","_pageModel$SkillEmbod","_pageModel$SkillEmbod2","_pageModel$PhysicalCa","_pageModel$PhysicalCa2","_pageModel$PhysicalCa3","_pageModel$PhysicalCa4","_pageModel$Performanc","_pageModel$Performanc2","_pageModel$Performanc3","_pageModel$Performanc4","_pageModel$Environmen","_pageModel$Environmen2","_pageModel$Environmen3","_pageModel$Environmen4","_pageModel$SensoryCap","_pageModel$SensoryCap2","_pageModel$SensoryCap3","_pageModel$SensoryCap4","_pageModel$TargetComp","_pageModel$TargetComp2","_pageModel$ProvidesTr","_pageModel$ReceivesTr","Classification","_pageModel$HasSupport5","HasWorkRole","_pageModel$HasWorkRol5","HasTask","_pageModel$HasTask4","KnowledgeEmbodied","AbilityEmbodied","SkillEmbodied","PhysicalCapabilityType","_pageModel$PhysicalCa5","PerformanceLevelType","_pageModel$Performanc5","EnvironmentalHazardType","_pageModel$Environmen5","SensoryCapabilityType","_pageModel$SensoryCap5","_pageModel$TargetComp3","_pageModel$ProvidesTr2","_pageModel$ReceivesTr2","LearningOpportunityPage","_opportunity$Availabl","_opportunity$HasPart","_opportunity$HasPart2","_opportunity$IsPartOf","_opportunity$IsPartOf2","_opportunity$Prerequi","_opportunity$Prerequi2","opportunityDataIsLoading","opportunityDataHasError","opportunity","setOpportunity","LearningEntityTypeId","opportunityIcon","_opportunity$HasPart3","_opportunity$IsPartOf3","Prerequisite","_opportunity$Prerequi3","MetricPage","_pageModel$DataSetPro","_pageModel$DataSetPro2","DataSetProfiles","_pageModel$DataSetPro3","OccupationPage","_pageModel$HasSpecial","_pageModel$HasSpecial2","_pageModel$HasSpecial3","_pageModel$HasSpecial4","_pageModel$HasWorkfor","_pageModel$HasWorkfor2","_pageModel$HasWorkfor3","_pageModel$HasWorkfor4","HasSpecialization","_pageModel$HasSpecial5","HasWorkforceDemand","_pageModel$HasWorkfor5","PathwayComponentPage","_pageModel$Pathway","partOfIcon","PathwayPage","PathwayPageV2","setPathway","components","setComponents","convertDataToLink","lookupFromSchema","_resource$cetermsKey","_resource$cetermsOwn","_resource$cetermsOff","HasDestinationComponent","convertDataToPathway","_lookupFromSchema","_resource$cetermsIde","_resource$cetermsHas","_resource$cetermsCre","HasProgressionLevel","IsDestinationComponentOf","ComponentCategory","ComponentDesignation","convertDataToIdentifierValue","HasCondition","RequiredNumber","TargetComponent","convertDataToComponentCondition","PointValue","Precedes","SourceData","ProgramTerm","_resource$cetermsSub2","_resource$cetermsSub3","_resource$cetermsSub4","convertDataToValueProfile","convertDataToPathwayComponent","destinationComponent","pathwaysBannerIcon","pathwaysIcon","PathwayComponent","pathwayComponent","allPathwayComponents","_props$pathwayCompone","PathwayComponentWrapper","PathwayComponentName","PathwayComponentContent","ComponentConditionList","componentCondition","ComponentCondition","ComponentConditionWrapper","PathwayPageV3","_progressionModelData","rawPathwayData","setRawPathwayData","progressionModelData","setProgressionModelData","progressionLevelsData","setProgressionLevelsData","supportServiceWrapper","setSupportServiceWrapper","externalComponents","setExternalComponents","rawPathwayDataNow","rawExtraDataNow","supportServices","_resource$cetermsInL","AllowUseOfPathwayDisplay","jumpToProxyForCTID","_rawPathwayDataNow$ce2","Extra","_rawPathwayDataNow$ce","GraphNow","updatedPathway","progressionModel","progressionLevels","level","convertedConcept","serviceURI","holder","pathwayComponents","sort","b","pathwayComponentURLs","topProgressionLevels","hasExternalComponents","haspart","missingIds","_step","_iterator","_createForOfIteratorHelper","s","done","precededby","_step2","_iterator2","f","checkComponents","_step3","updatedComponents","_iterator3","_data$cetermsProxyFo","getSchemaProperty","_data$cetermsCredent","termURI","schemaProperty","renderPathwayComponentProxyForData","component","PathwayComponentType","origin","PathwaySetPage","_pageModel$HasPathway","HasPathway","ProgressionModelPage","_progressionModel$Has","setProgressionModel","setProgressionLevels","convertDataToProgressionModel","progressionLevel","ProgressionLevel","_props$progressionLev","QualificationsFrameworkPage","_pageModel$Classifica","_pageModel$Classifica2","_pageModel$Classifica3","_pageModel$Classifica4","_pageModel$DerivedFro","_pageModel$DerivedFro2","_pageModel$DerivedFro3","_pageModel$DerivedFro4","Supercedes","SupercededBy","_pageModel$Classifica5","_pageModel$DerivedFro5","AlignmentMapPage","ResourcesPage","RubricPage","_pageModel$HasCriteri","_pageModel$HasCriteri2","_pageModel$HasCriteri3","_pageModel$HasCriteri4","_pageModel$TargetOccu","_pageModel$TargetOccu2","_pageModel$TargetOccu3","_pageModel$TargetOccu4","_pageModel$RubricLeve","_pageModel$RubricCrit","CompetencyCTID","EvaluatorType","HasCriterionCategorySet","_pageModel$HasCriteri5","_pageModel$TargetOccu5","RubricLevels","_level$HasProgression","_level$HasProgression2","_level$HasProgression3","_level$HasProgression4","RubricCriterions","criterion","_criterion$HasProgres","_criterion$HasProgres2","_criterion$HasProgres3","_criterion$HasProgres4","_criterion$TargetTask","_criterion$TargetTask2","_criterion$TargetTask3","_criterion$TargetComp","_criterion$TargetComp2","_criterion$TargetComp3","_pageModel$RubricLeve2","TargetTask","targettask","colIndex","_level$HasCriterionLe","HasCriterionLevel","criterionLevel","_criterion$HasCriteri","c","BenchmarkLabel","BenchmarkText","Feedback","MaxPercentage","MinPercentage","SupportServicePage","_pageModel$SupportSer","_pageModel$SupportSer2","_pageModel$IsSpecific","_pageModel$IsSpecific2","_pageModel$IsSpecific3","_pageModel$HasSpecifi","_pageModel$HasSpecifi2","_pageModel$HasSpecifi3","AccommodationType","SupportServiceType","SupportServiceReferencedBy","_pageModel$SupportSer3","IsSpecificServiceOf","HasSpecificService","SupportServiceConditon","TaskPage","_pageModel$HasChild","_pageModel$HasChild2","_pageModel$HasChild2$","_pageModel$HasChild3","_pageModel$RelatedOcc","_pageModel$RelatedJob","_pageModel$RelatedWor","_pageModel$HasChild4","RelatedOccupation","_pageModel$RelatedOcc2","RelatedJob","_pageModel$RelatedJob2","_pageModel$RelatedWor2","TransferIntermediaryPage","_pageModel$RequiresCo","_pageModel$RequiresCo2","_pageModel$RequiresCo3","_pageModel$RequiresCo4","_pageModel$Intermedia","IntermediaryFor","TransferValuePage","_pageModel$RelatedAss","_pageModel$RelatedCre","_pageModel$RelatedLea","_pageModel$TransferVa","_pageModel$TransferVa2","_pageModel$HasInterme","RelatedAssessment","_pageModel$RelatedAss2","RelatedCredential","_pageModel$RelatedCre2","RelatedLearningOpp","_pageModel$RelatedLea2","TransferValueFrom","TransferValueFor","HasIntermediaryFor","WorkRolePage","_pageModel$RelatedTas","knowledgeEmbodied","setKnowledgeEmbodied","abilityEmbodied","setAbilityEmbodied","skillEmbodied","setSkillEmbodied","fetchData","RelatedTask","_pageModel$RelatedTas2","ReportsBenchmarkPage","benchmarkType","currentEntity","setCurrentEntity","ReportTabButtons","ReportTabButton","credentials_icon","organizations_icon","assessments_icon","learning_opportunities_icon","costmanifest_icon","conditionmanifest_icon","pathways_icon","transfervalue_icon","transferintermediary_icon","BenchmarkType","Benchmarks","Policy","toLocaleString","PercentOfOverallTotal","StyledReportTabButton","WidgetPage","WidgetConfigurePage","library","fab","fas","AppWrapper","MainContent","emptyFilters","transferintermediary","creddentialingaction","React","createContext","resetQuery","PageViewTracker","currentTrackedPage","setCurrentTrackedPage","locationPathName","ReactGA","initialize","page","pageview","ScrollToTop","App","setFilters","setQuery","showComparePanel","setShowComparePanel","cookies","cookie","widgetParam","widgetID","fetchFilters","Promise","resolve","reject","filterURL","getFilterByBroadType","all","_values","organizationFilter","credentialFilter","assessmentFilter","learningOpportunityFilter","pathwayFilter","pathwaySetFilter","competencyFrameworkFilter","collectionFilter","occupationFilter","jobFilter","workRoleFilter","taskFilter","credentialingActionFilter","supportServiceFilter","scheduledOfferingFilter","conceptSchemeFilter","progressionModelFilter","outcomeDataFilter","transferValueFilter","transferIntermediaryFilter","rubricFilter","metricFilter","alignmentMapFilter","qualificationsFrameworkFilter","industryFilter","convertData","convertedFilters","scheduledoffering","supportservice","progressionmodel","outcomedata","occupation","job","task","workrole","credentialingaction","rubric","qualificationsframework","alignmentmap","industry","_ThemeProvider","newQuery","Router","basename","inOffset","Switch","Route","path","ReportDataPage","BenchmarkReportPage","WidgetViewPage","Redirect","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode"],"mappings":"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ACA,mBACA,qBACA,qBACA,gBACA,qBAEJC,sBAAuB,CACnB,uBAAuB,mBAE3BC,gBAAiB,CACb,cACA,iBACA,oBACA,kBACA,uBACA,eACA,oBACA,uBACA,0BAEJC,2BAA4B,CACxB,UACA,WACA,sBACA,cACA,cACA,uBACA,wBACA,mBACA,mBACA,gBACA,kBACA,uBACA,sBACA,uBACA,mBACA,2BACA,6BAEJC,sBAAuB,CACnB,gBACA,iBACA,0BACA,sBACA,oBACA,mBACA,WACA,aACA,cACA,kBAEJC,6BAA8B,CAC1B,UAEA,YAEA,YACA,cAEJC,uBAAwB,CACpB,WACA,aACA,cACA,iBACA,iBAAiB,oBAErBC,kBAAmB,CACf,uBACA,wBACA,mBACA,mBACA,gBACA,kBACA,cACA,gBACA,mBACA,UACA,eACA,0BACA,cACA,UACA,gBACA,oBACA,SACA,oBACA,kBACA,gBACA,oBACA,yBACA,uBACA,0BACA,wBACA,iBACA,aACA,SACA,mBACA,2BACA,4BACA,iBACA,oBACA,oBACA,oBACA,aACA,qBACA,0BACA,mBACA,YACA,cACA,kBACA,iBACA,0BAEJC,mBAAoB,CAChB,uBACA,uBACA,uBAEJC,sBAAuB,CACnB,uBACA,wBAEJC,sBAAuB,CACnB,uBACA,uBACA,2BACA,6BAEJC,gBAAiB,CACb,mBACA,4BACA,sBACA,uBACA,WACA,2BACA,4BACA,kBAEJC,kBAAmB,CACf,mBACA,8BACA,wBACA,gBACA,mBACA,qBACA,qBACA,gBACA,qBAEJC,0BAA2B,CACvB,wBACA,gBACA,mBACA,qBACA,qBACA,gBACA,qBAEJC,gBAAiB,CACb,cACA,oBACA,iBACA,eACA,oBACA,uBACA,eACA,0BACA,oBACN,cACM,4BACN,wBAEEC,wBAAyB,CACrB,2BACA,uBACA,oBACA,cACA,qBACA,yBAEJC,kBAAmB,CACf,+BACA,mBACA,qBAEJC,iBAAkB,CACd,8BACA,wBAEJC,kBAAmB,CACf,mBACA,mBACA,wBACA,qBACA,sBAEJC,0BAA2B,CACvB,wBACA,qBACA,sBAEJC,YAAa,CACf,cACM,6BAEJC,aAAc,CACV,eACA,2BAEJC,UAAW,CACP,cACA,oBACA,iBACA,eACA,oBACA,uBACA,eACA,0BACA,qBACA,4BACN,cACM,4BACN,uBAEEC,mBAAoB,CAChB,qBACA,6BAEJC,gBAAiB,CACb,cACA,iBACA,eAEJC,yBAA0B,CACtB,mBACA,qBAEJC,qBAAsB,CAClB,sBAEJC,0BAA2B,CACvB,cACA,iBACA,kBACA,cACA,4BACA,YAGJC,QAAS,CAAC,QAAS,eACnBC,sBAAuB,CACnB,mBACA,OACA,eACA,OACA,OACA,QACA,UACA,SACA,UACA,aACA,oBACA,gBACA,aACA,eACA,gBACA,kBAEJpX,UAAW,CACP,sBACA,UACA,cACA,UAEJqX,aAAc,CACV,eACA,eACA,aACA,YACA,eACA,eAEJC,GAAI,CACA,aACA,eAEJC,uBAAwB,CACpB,eACA,aACA,YACA,eACA,cACA,YACA,aAEJC,oBAAqB,CACjB,UACA,2BACA,UACA,eACA,cACA,kBAEJC,qBAAsB,CAClB,UACA,iBACA,YACA,YACA,kBACA,UACA,YACA,eACA,mBACA,aACA,cACA,cAEJC,yBAA0B,CACtB,iBACA,gBAEJC,YAAa,CACT,gBACA,sBACA,qBAEJC,oBAAqB,CACjB,cACA,UAEJC,uBAAwB,CACpB,cACA,iBACA,iBAEJC,oBAAqB,CACjB,cACA,iBACA,iBAEJC,gBAAiB,CACb,cACA,iBACA,iBAEJC,sBAAuB,CACnB,cACA,iBACA,iBAEJC,sBAAuB,CACnB,YACJC,YAAa,CACT,cACA,iBACA,gBACA,0BACA,uBACA,qBACA,oBACA,cAEJC,sBAAuB,CACnB,wBACA,qBACA,qBACA,kBC1kBK7M,GAAU5G,IAAO+B,IAAGS,WAAA,CAAAC,YAAA,kBAAAC,YAAA,gBAAV1C,CAAU,mCAKpB0T,GAAc1T,IAAO+B,IAAGS,WAAA,CAAAC,YAAA,sBAAAC,YAAA,gBAAV1C,CAAU,uDAOxB2T,GAAa3T,IAAOG,OAAMqC,WAAA,CAAAC,YAAA,qBAAAC,YAAA,gBAAb1C,CAAa,kJACtB,SAAClQ,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","file":"static/js/main.8a8d9fd7.chunk.js","sourcesContent":["/**\r\n * The default theme\r\n */\r\nimport { DefaultTheme } from 'styled-components';\r\n\r\nconst theme: DefaultTheme = {\r\n color: {\r\n blueDark: '#0A2942',\r\n brown: '#996C48',\r\n greyDark: '#607484',\r\n greyLight: '#E6EAEC',\r\n aquaDark: '#4EE5E1',\r\n aquaLight: '#DCFAF9',\r\n white: '#FFFFFF',\r\n },\r\n breakpoint: {\r\n tabletPortrait: '600px',\r\n tabletLandscape: '900px',\r\n desktop: '1200px',\r\n },\r\n fontSize: {\r\n hero: '2.625rem' /* 42px */,\r\n xxxl: '1.75rem' /* 28px */,\r\n xxl: '1.5rem' /* 24px */,\r\n xl: '1.3125rem' /* 21px */,\r\n lg: '1rem' /* 16px */,\r\n md: '0.9375rem' /* 15px */,\r\n sm: '0.875rem' /* 14px */,\r\n xs: '0.8125rem' /* 13px */,\r\n },\r\n maxWidth: '1400px',\r\n};\r\n\r\nexport { theme };\r\n","import { createGlobalStyle } from 'styled-components';\r\n\r\nconst GlobalStyle = createGlobalStyle`\r\n\r\n * { box-sizing: border-box; }\r\n\r\n body {\r\n color: ${(props) => props.theme.color.blueDark};\r\n font-family: 'IBM Plex Sans', sans-serif;\r\n font-size: ${(props) => props.theme.fontSize.md};\r\n line-height: 1.6;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n button {\r\n cursor: pointer;\r\n font-family: inherit;\r\n font-size: ${(props) => props.theme.fontSize.md};\r\n line-height: 1.6;\r\n }\r\n\r\n code {\r\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;\r\n }\r\n\r\n img { max-width: 100%; }\r\n\r\n hr {\r\n background-color: ${(props) => props.theme.color.greyLight};\r\n border: 0 none;\r\n height: 1px;\r\n }\r\n\r\n a {\r\n color: ${(props) => props.theme.color.blueDark};\r\n\r\n &:hover { text-decoration: none; }\r\n }\r\n\r\n label {\r\n font-size: ${(props) => props.theme.fontSize.lg};\r\n line-height: 1.125;\r\n font-weight: 700;\r\n }\r\n\r\n small {\r\n font-size: ${(props) => props.theme.fontSize.xs};\r\n line-height: 1.1538;\r\n }\r\n\r\n h1 {\r\n color: ${(props) => props.theme.color.aquaDark};\r\n font-size: ${(props) => props.theme.fontSize.xxxl};\r\n line-height: 1.1428;\r\n }\r\n\r\n h2 {\r\n font-size: ${(props) => props.theme.fontSize.xxl};\r\n line-height: 1.1667;\r\n }\r\n\r\n h3 {\r\n font-size: ${(props) => props.theme.fontSize.xl};\r\n line-height: 1.1428;\r\n }\r\n`;\r\n\r\nexport default GlobalStyle;\r\n","//TBD integrate in env\r\nexport const apiUrl = process.env.REACT_APP_API_URL || 'https://sandbox.credentialengine.org/finderAPI';\r\nexport const legacySourceUrl = process.env.REACT_APP_LEGACY_SOURCE_URL || 'https://sandbox.credentialengine.org/services';\r\nexport const appURL = process.env.PUBLIC_URL || \"https://credentialfinder.org\";\r\nexport const registryURL = process.env.REACT_APP_REGISTRY_URL || \"https://credentialengineregistry.org\";\r\nexport const googleMapsKey = process.env.REACT_APP_GOOGLE_MAPS_KEY || 'AIzaSyAnierCr9ypDBt9AQzlrwTKCFt-5JBJMdE';\r\nexport const initializeFilterSearchApiUrl = apiUrl + '/search/initialize';\r\nexport const autocompleteFilterSearchApiUrl = apiUrl + '/search/autocomplete';\r\nexport const locationBoxSearchApiUrl = apiUrl + '/search/location';\r\nexport const BUCKET_STORAGE = 'cr-compare-bucket';\r\nexport const googleAnalyticsID = process.env.REACT_APP_GOOGLE_ANALYTICS_ID || \"UA-77712853-2\";\r\nexport const appBaseName = process.env.REACT_APP_BASENAME || \"\";\r\nexport const configName = process.env.REACT_APP_CONFIG_NAME || \"unknown\";\r\n","import { apiUrl } from '../../shared/globals';\r\n\r\nexport function createMiniSearch(container, query, renderInitialUI, renderNoResultsUI, renderHasResultsUI, renderResultList, renderResultMethod, handleError, getScrollContext, pageSize) {\r\n\tif (!container) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t//Create the search box\r\n\tvar searchBox = document.createElement(\"div\");\r\n\tsearchBox.classList.add(\"miniSearch\");\r\n\tcontainer.appendChild(searchBox);\r\n\tvar resultList;\r\n\r\n\t//Other search attributes\r\n\tvar busy = false;\r\n\tvar resultsData = [];\r\n\tvar totalResults = 0;\r\n\tvar skip = 0;\r\n\tvar take = pageSize || 10;\r\n\tvar hasResultsUI = false;\r\n\r\n\t//Render a UI to show while the first search is being performed\r\n\trenderInitialUI?.(searchBox);\r\n\r\n\t//Trigger the search\r\n\t/*\r\n\twindow.addEventListener(\"scroll\", () => {\r\n\t\tif (!busy && skip * take < totalResults && searchBox.offsetTop + searchBox.offsetHeight <= window.scrollY + window.innerHeight) {\r\n\t\t\tdoSearch();\r\n\t\t}\r\n\t});\r\n\t*/\r\n\r\n\t//Force the initial search\r\n\tdoSearch();\r\n\r\n\t//Method to perform the search\r\n\tfunction doSearch() {\r\n\t\tbusy = true;\r\n\t\tpostData(apiUrl + \"/detail/registrysearch\", {\r\n\t\t\tQuery: query,\r\n\t\t\tSkip: skip,\r\n\t\t\tTake: take,\r\n\t\t\tUseBetaAPI: true\r\n\t\t}, response => {\r\n\t\t\t//Set the results and total results\r\n\t\t\tresultsData = response.Result.data;\r\n\t\t\ttotalResults = response.Result.total;\r\n\t\t\t//Render no results UI if no results\r\n\t\t\tif (totalResults == 0) {\r\n\t\t\t\trenderNoResultsUI?.(searchBox, searchBox);\r\n\t\t\t}\r\n\t\t\t//Otherwise, render a page of results, wait a moment, then reenable the search so another page can be loaded\r\n\t\t\telse {\r\n\t\t\t\tif (!hasResultsUI) {\r\n\t\t\t\t\trenderHasResultsUI?.(searchBox, resultsData, totalResults);\r\n\t\t\t\t\tresultList = renderResultList?.(searchBox);\r\n\t\t\t\t\tif (!resultList) {\r\n\t\t\t\t\t\tresultList = document.createElement(\"div\");\r\n\t\t\t\t\t\tsearchBox.appendChild(resultList);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tresultList.classList.add(\"miniSearchResults\");\r\n\t\t\t\t\tvar scroller = getScrollContext?.(resultList) || window;\r\n\t\t\t\t\tscroller.addEventListener(\"scroll\", () => {\r\n\t\t\t\t\t\tvar isNearBottom = scroller == window ? searchBox.offsetTop + searchBox.offsetHeight <= window.scrollY + window.innerHeight : scroller.scrollTop >= scroller.scrollHeight;\r\n\t\t\t\t\t\tif (!busy && skip * take < totalResults && isNearBottom) {\r\n\t\t\t\t\t\t\tdoSearch();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\thasResultsUI = true;\r\n\t\t\t\t}\r\n\t\t\t\trenderResultsPage(resultList, resultsData, renderResultMethod);\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tbusy = false; //Uncomment this to reenable the search\r\n\t\t\t\t\tskip += take;\r\n\t\t\t\t}, 250);\r\n\t\t\t}\r\n\t\t}, error => {\r\n\t\t\thandleError?.(searchBox, searchBox, error);\r\n\t\t});\r\n\t}\r\n}\r\n//\r\n\r\n//Render a page of results using the provided method for each result\r\nfunction renderResultsPage(container, resultsData, renderResultMethod) {\r\n\tresultsData?.forEach(resultData => {\r\n\t\tvar wrapper = document.createElement(\"div\");\r\n\t\twrapper.classList.add(\"resultWrapper\");\r\n\t\tcontainer.appendChild(wrapper);\r\n\t\tsetTimeout(() => {\r\n\t\t\trenderResultMethod(wrapper, resultData);\r\n\t\t}, 0);\r\n\t});\r\n}\r\n//\r\n\r\n//Generic post data method - may be better to put this somewhere else and import it\r\nexport function postData(url, data, success, error) {\r\n\tfetch(url, {\r\n\t\tmethod: \"POST\",\r\n\t\theaders: { \"Accept\": \"application/json\", \"Content-Type\": \"application/json\" },\r\n\t\tbody: JSON.stringify(data)\r\n\t}).then(response => {\r\n\t\treturn response.text();\r\n\t}).then(text => {\r\n\t\tvar value = JSON.parse(text);\r\n\t\tsuccess?.(value);\r\n\t}).catch(response => {\r\n\t\tconsole.log(\"Error\", response);\r\n\t\terror?.(response);\r\n\t});\r\n}\r\n//\r\n\r\n//Generic UUID method - may be better to put this somewhere else\r\nexport function getUUID() {\r\n\treturn crypto.randomUUID();\r\n}\r\n//\r\n\r\n//Generic method to get an element after react's lifecycle eventually renders it\r\nexport function getElementEventually(getMethod, afterGet) {\r\n\tvar attempts = 10;\r\n\tvar keepTrying;\r\n\tkeepTrying = setInterval(() => {\r\n\t\tconsole.log(\"Trying to get element...\", attempts);\r\n\t\tvar element = getMethod();\r\n\t\tif (element || attempts <= 0) {\r\n\t\t\tclearInterval(keepTrying);\r\n\t\t\tif (element) {\r\n\t\t\t\tconsole.log(\"Found element\", attempts);\r\n\t\t\t\tafterGet(element);\r\n\t\t\t}\r\n\t\t}\r\n\t\tattempts--;\r\n\t}, 1000);\r\n}\r\n//","export function getCurrentQuery() {\r\n\twindow.SearchQuery = window.SearchQuery || {};\r\n\treturn window.SearchQuery;\r\n}\r\n\r\nexport function setCurrentQuery(query) {\r\n\twindow.SearchQuery = query || {\r\n\t\tKeywords: [],\r\n\t\tMainFilters: [],\r\n\t\tMapFilter: {},\r\n\t\tSkipPages: 0,\r\n\t\tPageSize: 20,\r\n\t\tSortOrder: \"sortOrder:MostRelevant\"\r\n\t};\r\n}\r\n\r\nexport function registerCurrentQueryListener(name, method) {\r\n\twindow.SearchQueryListeners = window.SearchQueryListeners || [];\r\n\tif (name && method && !window.SearchQueryListeners.find(m => m.Name == name)) {\r\n\t\twindow.SearchQueryListeners.push({ Name: name, Method: method });\r\n\t}\r\n}\r\n\r\nexport function updateCurrentQuery(updateMethod) {\r\n\tvar query = getCurrentQuery();\r\n\tupdateMethod?.(query);\r\n\tconsole.log(\"Query updated\", query);\r\n\twindow.dispatchEvent(new Event(\"SearchQueryUpdated\"));\r\n\twindow.SearchQueryListeners?.forEach(listener => {\r\n\t\tconsole.log(\"Running listener: \" + listener.Name);\r\n\t\tlistener.Method();\r\n\t});\r\n}\r\n\r\nexport function delayThenDo(timeoutName, delayMS, method) {\r\n\twindow.TimeoutList = window.TimeoutList || {};\r\n\tclearTimeout(window.TimeoutList[timeoutName]);\r\n\twindow.TimeoutList[timeoutName] = setTimeout(method, delayMS);\r\n}\r\n\r\nexport function addFilterItem(filterID, filterURI, filterLabel, itemID, itemURI, itemText, afterOnRemove) {\r\n\tvar query = getCurrentQuery();\r\n\tquery.MainFilters = query.MainFilters || [];\r\n\tvar matchingFilter = query.MainFilters.find(m => m.Id == filterID);\r\n\tif (matchingFilter) {\r\n\t\tmatchingFilter.Items = matchingFilter.Items || [];\r\n\t\tvar matchingFilterItem = matchingFilter.Items?.find(m => getByIDOrURIOrText(m, itemID, itemURI, itemText));\r\n\t\tif (!matchingFilterItem) {\r\n\t\t\tmatchingFilter.Items.push({\r\n\t\t\t\tId: itemID,\r\n\t\t\t\tURI: itemURI,\r\n\t\t\t\tText: itemText,\r\n\t\t\t\tonRemove: function () {\r\n\t\t\t\t\tremoveFilterItem(filterID, filterURI, filterLabel, itemID, itemURI, itemText);\r\n\t\t\t\t\tafterOnRemove?.();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\telse {\r\n\t\tquery.MainFilters.push({\r\n\t\t\tId: filterID,\r\n\t\t\tLabel: filterLabel,\r\n\t\t\tURI: filterURI,\r\n\t\t\tItems: [\r\n\t\t\t\t{\r\n\t\t\t\t\tId: itemID,\r\n\t\t\t\t\tURI: itemURI,\r\n\t\t\t\t\tText: itemText,\r\n\t\t\t\t\tonRemove: function () {\r\n\t\t\t\t\t\tremoveFilterItem(filterID, filterURI, filterLabel, itemID, itemURI, itemText);\r\n\t\t\t\t\t\tafterOnRemove?.();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t});\r\n\t}\r\n\tupdateCurrentQuery();\r\n}\r\n\r\nexport function removeFilterItem(filterID, filterURI, filterLabel, itemID, itemURI, itemText) {\r\n\tvar query = getCurrentQuery();\r\n\tvar matchingFilter = query.MainFilters.find(m => m.Id == filterID);\r\n\tif (matchingFilter) {\r\n\t\tmatchingFilter.Items = matchingFilter.Items || [];\r\n\t\tvar matchingItem = matchingFilter.Items?.find(m => getByIDOrURIOrText(m, itemID, itemURI, itemText));\r\n\t\tif (matchingItem) {\r\n\t\t\tmatchingFilter.Items = matchingFilter.Items.filter(m => m != matchingItem);\r\n\t\t\tif (matchingFilter.IsPreselectedFilter) {\r\n\t\t\t\twindow.RemovedPreselectedFilter = true; //Hack\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (matchingFilter.Items.length == 0) {\r\n\t\t\tquery.MainFilters = query.MainFilters.filter(m => m != matchingFilter);\r\n\t\t}\r\n\t}\r\n\tupdateCurrentQuery();\r\n}\r\n\r\nexport function toggleFilterItem(filterID, filterURI, filterLabel, itemID, itemURI, itemText) {\r\n\tvar query = getCurrentQuery();\r\n\tif (query.MainFilters?.find(m => m.Id == filterID)?.Items?.find(m => getByIDOrURIOrText(m, itemID, itemURI, itemText))) {\r\n\t\tconsole.log(\"Removing Filter Item\", { filterID: filterID, filterLabel: filterLabel, itemID: itemID, itemURI: itemURI, itemText: itemText });\r\n\t\tremoveFilterItem(filterID, filterURI, filterLabel, itemID, itemURI, itemText);\r\n\t}\r\n\telse {\r\n\t\tconsole.log(\"Adding Filter Item\", { filterID: filterID, filterLabel: filterLabel, itemID: itemID, itemURI: itemURI, itemText: itemText });\r\n\t\taddFilterItem(filterID, filterURI, filterLabel, itemID, itemURI, itemText);\r\n\t}\r\n}\r\n\r\nexport function getByIDOrURIOrText(FilterItem, itemID, itemURI, itemText) {\r\n\treturn itemID ? FilterItem.Id == itemID :\r\n\t\titemURI ? FilterItem.URI == itemURI :\r\n\t\titemText ? FilterItem.Text == itemText :\r\n\t\tfalse;\r\n}\r\n","import { getUUID } from \"../components/MiniSearch\";\r\nimport { apiUrl } from \"../shared/globals\";\r\nimport { updateCurrentQuery } from './SearchHelper';\r\n\r\n//Global widget object\r\nwindow.Widget = window.Widget || {\r\n\tParameter: \"widgetid\",\r\n\tID: 0,\r\n\tURLName: \"\",\r\n\tInWidgetMode: false,\r\n\tStyleRules: [],\r\n\tStyleTag: null,\r\n\tConfig: null,\r\n\tDefaultSearchType: null\r\n};\r\n\r\n//Apply widgetization sitewide\r\nexport default function handleSiteWidgetization() {\r\n\tnew URLSearchParams(window.location.search).forEach(function (value, key) {\r\n\t\tif (key.toLowerCase() == window.Widget.Parameter) {\r\n\t\t\tconsole.log(\"Widget detected:\", value);\r\n\t\t\twindow.Widget.ID = isNaN(value) ? 0 : parseInt(value);\r\n\t\t\twindow.Widget.URLName = isNaN(value) ? value : \"\";\r\n\t\t\tconsole.log(\"Widget ID:\", window.Widget.ID);\r\n\t\t\tconsole.log(\"Widget URLName:\", window.Widget.URLName);\r\n\t\t}\r\n\t\tif (key.toLowerCase() == \"searchtype\") {\r\n\t\t\twindow.Widget.DefaultSearchType = value;\r\n\t\t}\r\n\t});\r\n\r\n\t//Skip the rest if there is no widget to apply\r\n\tif (!window.Widget.ID && !window.Widget.URLName) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t//Force async so other stuff renders first, then apply the widgetization\r\n\tsetTimeout(applyWidgetization, 0); \r\n}\r\n//\r\n\r\nfunction applyWidgetization() {\r\n\t//Skip if already applied\r\n\tif (window.Widget.ID == window.Widget.Config?.Id && window.Widget.URLName == window.Widget.Config?.URLName) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t//Get the data for the widget\r\n\tgetData(apiUrl + \"/widget/getconfig/\" + (window.Widget.ID || window.Widget.URLName), (response) => {\r\n\t//getData(\"https://sandbox.credentialengine.org/finderapi/widget/getconfig/\" + window.Widget.ID, (response) => {\r\n\t\t//Attach data\r\n\t\tconsole.log(\"Got widget data\", response);\r\n\t\twindow.Widget.Config = response.Result;\r\n\t\twindow.Widget.ID = window.Widget.Config.Id;\r\n\t\twindow.Widget.URLName = window.Widget.Config.UrlName;\r\n\r\n\t\t//Apply one-time changes\r\n\t\tenterWidgetMode();\r\n\r\n\t\t//Apply per-widget changes\r\n\t\tapplyWidgetConfig();\r\n\t});\r\n}\r\n//\r\n\r\n//Apply changes that only need to be done once\r\nfunction enterWidgetMode() {\r\n\t//Skip if already done\r\n\tif (window.Widget.InWidgetMode) {\r\n\t\treturn;\r\n\t}\r\n\twindow.Widget.InWidgetMode = true;\r\n\r\n\t//Apply changes\r\n\t//Hide things that should be hidden in a widget\r\n\tselect(\".widgetHide\").forEach(element => {\r\n\t\thide(element);\r\n\t});\r\n\r\n\t//Show things that should only show in a widget\r\n\tselect(\".widgetShow\").forEach(element => {\r\n\t\tshow(element);\r\n\t});\r\n\r\n\t//Widgetize links on click\r\n\twindow.addEventListener(\"mousedown\", function (e) {\r\n\t\twidgetizeLink(e.srcElement);\r\n\t});\r\n\r\n\t//Widgetize links on keyup\r\n\twindow.addEventListener(\"keyup\", function (e) {\r\n\t\twidgetizeLink(e.srcElement);\r\n\t});\r\n\r\n\t//Create a style tag to inject styles into\r\n\twindow.Widget.StyleTag = document.createElement(\"style\");\r\n\tdocument.body.appendChild(window.Widget.StyleTag);\r\n\r\n\t//Handle resizing\r\n\twindow.addEventListener(\"resize\", function () {\r\n\t\thandleResize();\r\n\t});\r\n\r\n\t//Force resizing despite react\r\n\tsetInterval(handleResize, 250);\r\n\r\n\t//Update query\r\n\tupdateCurrentQuery();\r\n}\r\n//\r\n\r\n//Widgetize a link\r\nfunction widgetizeLink(element) {\r\n\tif (element.tagName?.toLowerCase() == \"a\") {\r\n\t\t//element.target = \"\"; //Commented out so that links will continue to open in a new window\r\n\t\tif (!element.href.includes(window.Widget.Parameter)) {\r\n\t\t\tvar url = new URL(element.href);\r\n\t\t\turl.searchParams.append(window.Widget.Parameter, window.Widget.ID);\r\n\t\t\twindow.Widget.DefaultSearchType && url.searchParams.append(\"searchType\", window.Widget.DefaultSearchType);\r\n\t\t\telement.href = url.toString();\r\n\t\t}\r\n\t}\r\n\t//Handle links that have other elements inside of them\r\n\telse if (element.parentNode && element.parentNode != element) {\r\n\t\twidgetizeLink(element.parentNode);\r\n\t}\r\n}\r\n//\r\n\r\n//Apply changes unique to a given widget\r\nfunction applyWidgetConfig() {\r\n\tconsole.log(\"Applying widget config\", window.Widget.Config);\r\n}\r\n//\r\n\r\n//Handle resizing\r\nfunction handleResize() {\r\n\tvar height = document.body.clientHeight + 20;\r\n\tvar message = { action: \"resize\", width: \"100% !important\", height: height + \"px !important\" };\r\n\twindow.parent?.postMessage(JSON.stringify(message), \"*\");\r\n}\r\n//\r\n\r\n//Helpful mappings\r\nvar WidgetToFinderMap = {\r\n\t\"credential\": {\r\n\t\tGlobalHideName: \"FindCredential\",\r\n\t\tTypeName: \"CredentialFilters\",\r\n\t\tFilterMap: {\r\n\t\t\t\"filter:AssessmentDeliveryType\": \"AssessmentDeliveryTypes\",\r\n\t\t\t\"filter:AudienceLevelType\": \"AudienceLevelTypes\",\r\n\t\t\t\"filter:AudienceType\": \"AudienceTypes\",\r\n\t\t\t\"filter:Competencies\": \"Competencies\",\r\n\t\t\t\"filter:Connections\": \"CredentialConnections\",\r\n\t\t\t\"filter:CredentialStatus\": \"CredentialStatusTypes\",\r\n\t\t\t\"filter:CredentialType\": \"CredentialTypes\",\r\n\t\t\t\"filter:InLanguage\": \"Languages\",\r\n\t\t\t\"filter:IndustryType\": \"Industries\",\r\n\t\t\t\"filter:InstructionalProgramType\": \"InstructionalProgramTypes\",\r\n\t\t\t\"filter:LearningDeliveryType\": \"LearningDeliveryTypes\",\r\n\t\t\t\"filter:LearningMethodType\": \"LearningMethodTypes\",\r\n\t\t\t\"filter:OccupationType\": \"Occupations\",\r\n\t\t\t\"filter:OtherFilters\": \"OtherFilters\",\r\n\t\t\t\"filter:QAReceived\": \"QualityAssurance\",\r\n\t\t\t\"filter:CollectionType\": \"Collections\",\r\n\t\t\t\"filter:Subjects\": \"Subjects\"\r\n\t\t}\r\n\t},\r\n\t\"organization\": {\r\n\t\tGlobalHideName: \"FindOrganization\",\r\n\t\tTypeName: \"OrganizationFilters\",\r\n\t\tFilterMap: {\r\n\t\t\t\"filter:OrganizationTypes\": \"OrganizationTypes\",\r\n\t\t\t\"filter:IndustryType\": \"Industries\",\r\n\t\t\t\"filter:ServiceTypes\": \"ServiceTypes\",\r\n\t\t\t\"filter:SectorTypes\": \"SectorTypes\",\r\n\t\t\t\"filter:ClaimTypes\": \"ClaimTypes\",\r\n\t\t\t\"filter:QAReceived\": \"QualityAssurance\",\r\n\t\t\t\"filter:QAPerformed\": \"QualityAssurancePerformed\",\r\n\t\t\t\"filter:OtherFilters\": \"OtherFilters\"\r\n\t\t}\r\n\t},\r\n\t\"assessment\": {\r\n\t\tGlobalHideName: \"FindAssessment\",\r\n\t\tTypeName: \"AssessmentFilters\",\r\n\t\tFilterMap: {\r\n\t\t\t\"filter:Competencies\": \"Competencies\",\r\n\t\t\t\"filter:Subjects\": \"Subjects\",\r\n\t\t\t\"filter:Connections\": \"AssessmentConnections\",\r\n\t\t\t\"filter:AssessmentDeliveryType\": \"DeliveryMethodTypes\",\r\n\t\t\t\"filter:AudienceLevelType\": \"AudienceLevelTypes\",\r\n\t\t\t\"filter:AudienceType\": \"AudienceTypes\",\r\n\t\t\t\"filter:CollectionType\": \"Collections\",\r\n\t\t\t\"filter:IndustryType\": \"Industries\", \r\n\t\t\t\"filter:OccupationType\": \"Occupations\",\r\n\t\t\t\"filter:InstructionalProgramType\": \"InstructionalProgramTypes\",\r\n\t\t\t\"filter:QAReceived\": \"QualityAssurance\",\r\n\t\t\t\"filter:InLanguage\": \"Languages\",\r\n\t\t\t\"filter:OtherFilters\": \"OtherFilters\"\r\n\t\t}\r\n\t},\r\n\t\"learningopportunity\": {\r\n\t\tGlobalHideName: \"FindLearningOpportunity\",\r\n\t\tTypeName: \"LearningOpportunityFilters\",\r\n\t\tFilterMap: {\r\n\t\t\t\"filter:LearningTypes\": \"LearningTypes\",\r\n\t\t\t\"filter:LifeCycleStatusTypes\": \"LifeCycleTypes\",\r\n\t\t\t\"filter:Competencies\": \"Competencies\",\r\n\t\t\t\"filter:Subjects\": \"Subjects\",\r\n\t\t\t\"filter:Connections\": \"LearningOpportunityConnections\",\r\n\t\t\t\"filter:AudienceLevelType\": \"AudienceLevelTypes\",\r\n\t\t\t\"filter:AudienceType\": \"AudienceTypes\",\r\n\t\t\t\"filter:LearningDeliveryType\": \"DeliveryMethodTypes\",\r\n\t\t\t\"filter:LearningMethodType\": \"LearningMethodTypes\",\r\n\t\t\t\"filter:CollectionType\": \"Collections\",\r\n\t\t\t\"filter:IndustryType\": \"Industries\",\r\n\t\t\t\"filter:OccupationType\": \"Occupations\",\r\n\t\t\t\"filter:InstructionalProgramType\": \"InstructionalProgramTypes\",\r\n\t\t\t\"filter:QAReceived\": \"QualityAssurance\",\r\n\t\t\t\"filter:InLanguage\": \"Languages\",\r\n\t\t\t\"filter:OtherFilters\": \"OtherFilters\"\r\n\t\t}\r\n\t},\r\n\t\"pathway\": {\r\n\t\tGlobalHideName: \"FindPathway\",\r\n\t\tTypeName: \"PathwayFilters\",\r\n\t\tFilterMap: {\r\n\t\t\t\"filter:Subjects\": \"unknown\", //Not included in the widget config page\r\n\t\t\t\"filter:IndustryType\": \"unknown\", //Not included in the widget config page\r\n\t\t\t\"filter:OccupationType\": \"unknown\" //Not included in the widget config page\r\n\t\t}\r\n\t},\r\n\t\"pathwayset\": {\r\n\t\tGlobalHideName: \"FindPathwaySet\",\r\n\t\tTypeName: \"PathwaySetFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"competencyframework\": {\r\n\t\tGlobalHideName: \"FindCompetencyFramework\",\r\n\t\tTypeName: \"CompetencyFrameworkFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"collection\": {\r\n\t\tGlobalHideName: \"FindCollection\",\r\n\t\tTypeName: \"CollectionFilters\",\r\n\t\tFilterMap: {\r\n\t\t\t\"filter:CollectionType\": \"CollectionTypes\"\r\n\t\t}\r\n\t},\r\n\t\"conceptscheme\": {\r\n\t\tGlobalHideName: \"FindConceptScheme\",\r\n\t\tTypeName: \"ConceptSchemeFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"progressionmodel\": {\r\n\t\tGlobalHideName: \"FindProgressionModel\",\r\n\t\tTypeName: \"ProgressionModelFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"scheduledoffering\": {\r\n\t\tGlobalHideName: \"FindScheduledOffering\",\r\n\t\tTypeName: \"ScheduledOfferingFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"supportservice\": {\r\n\t\tGlobalHideName: \"FindSupportService\",\r\n\t\tTypeName: \"SupportServiceFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"outcomedata\": {\r\n\t\tGlobalHideName: \"FindOutcomeData\",\r\n\t\tTypeName: \"OutcomeDataFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"occupation\": {\r\n\t\tGlobalHideName: \"FindOccupation\",\r\n\t\tTypeName: \"OccupationFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"job\": {\r\n\t\tGlobalHideName: \"FindJob\",\r\n\t\tTypeName: \"JobFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"task\": {\r\n\t\tGlobalHideName: \"FindTask\",\r\n\t\tTypeName: \"TaskFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"workrole\": {\r\n\t\tGlobalHideName: \"FindWorkRole\",\r\n\t\tTypeName: \"WorkRoleFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"transfervalue\": {\r\n\t\tGlobalHideName: \"FindTransferValue\",\r\n\t\tTypeName: \"TransferValueFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"credentialingaction\": {\r\n\t\tGlobalHideName: \"FindCredentialingAction\",\r\n\t\tTypeName: \"CredentialingActionFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"transferintermediary\": {\r\n\t\tGlobalHideName: \"FindTransferIntermediary\",\r\n\t\tTypeName: \"TransferIntermediaryFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"rubric\": {\r\n\t\tGlobalHideName: \"FindRubric\",\r\n\t\tTypeName: \"RubricFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"metric\": {\r\n\t\tGlobalHideName: \"FindMetric\",\r\n\t\tTypeName: \"MetricFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"industry\": {\r\n\t\tGlobalHideName: \"FindIndustry\",\r\n\t\tTypeName: \"IndustryFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"qualificationsframework\": {\r\n\t\tGlobalHideName: \"FindQualificationsFramework\",\r\n\t\tTypeName: \"QualificationsFrameworkFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n\t\"alignmentmap\": {\r\n\t\tGlobalHideName: \"FindAlignmentMap\",\r\n\t\tTypeName: \"AlignmentMapFilters\",\r\n\t\tFilterMap: {}\r\n\t},\r\n};\r\n\r\n//Enable something to hide itself based on search type\r\nexport function doesWidgetHideThisSearchType(searchType) {\r\n\treturn window.Widget?.Config?.HideGlobalFilters?.includes(WidgetToFinderMap[searchType?.toLowerCase()]?.GlobalHideName);\r\n}\r\n//\r\n\r\n//Apply a widget's stuff to a query\r\nexport function widgetApplyWidgetToQuery(query, searchType) {\r\n\tif (window.Widget?.Config) {\r\n\t\t//Add widget ID\r\n\t\tquery.WidgetId = window.Widget.Config.Id;\r\n\t\tquery.HasCredentialPotentialResults = window.Widget.Config?.HasCredentialPotentialResults;\r\n\t\t//Add filters\r\n\t\tvar filterSet = WidgetToFinderMap[searchType?.toLowerCase()];\r\n\t\tquery.MainFilters = query.MainFilters.filter(m => !m.WidgetName); //Remove existing widget filters so react doesn't double-include them\r\n\t\tif (filterSet) {\r\n\t\t\t//Role filters\r\n\t\t\taddRoles(window.Widget?.Config?.[filterSet.TypeName]?.QualityAssurance, \"Quality Assurance by:\");\r\n\t\t\taddRoles(window.Widget?.Config?.[filterSet.TypeName]?.Provider, \"Provided by:\");\r\n\r\n\t\t\t//Text filters\r\n\t\t\taddTexts(filterSet?.Subjects);\r\n\t\t\taddTexts(filterSet?.Competencies);\r\n\t\t\taddTexts(filterSet?.Industries);\r\n\t\t\taddTexts(filterSet?.Occupations);\r\n\t\t\taddTexts(filterSet?.InstructionalProgramTypes);\r\n\t\t\taddTexts(filterSet?.Collections);\r\n\r\n\t\t\t//Location filters\r\n\t\t\tvar locations = window.Widget.Config.Locations;\r\n\t\t\tif (locations && (Object.keys(locations).length > 1 || locations.IsAvailableOnline == true)) {\r\n\t\t\t\tvar locationsFilterItem = {\r\n\t\t\t\t\tWidgetName: \"widget-locationset\",\r\n\t\t\t\t\tLabel: \"Location(s)\",\r\n\t\t\t\t\tItems: [{\r\n\t\t\t\t\t\tText: [(locations.Countries || []).concat(locations.Regions || []).concat(locations.Cities || []).length > 0 ? \"Applicable Locations\" : \"\", locations.IsAvailableOnline ? \"Available Online\" : \"\"].filter(m => m.length > 0).join(\" + \"),\r\n\t\t\t\t\t\tType: \"LOCATIONSET\",\r\n\t\t\t\t\t\tURI: \"LOCATIONSET\",\r\n\t\t\t\t\t\tValues: locations\r\n\t\t\t\t\t}]\r\n\t\t\t\t};\r\n\t\t\t\tquery.MainFilters.push(locationsFilterItem);\r\n\t\t\t}\r\n\r\n\t\t\t//Potential Results filters\r\n\t\t\tvar potentialResults = window.Widget?.Config?.[filterSet.TypeName]?.PotentialResults?.map(item => item.Id);\r\n\t\t\tif (potentialResults?.length > 0) {\r\n\t\t\t\tquery.MainFilters.push({\r\n\t\t\t\t\tWidgetName: \"widget-potentialresults\",\r\n\t\t\t\t\tLabel: \"Potential Results\",\r\n\t\t\t\t\tItems: [{\r\n\t\t\t\t\t\tText: potentialResults.length + \" Items\"\r\n\t\t\t\t\t}],\r\n\t\t\t\t\tParameters: {\r\n\t\t\t\t\t\tn: \"potentialresults\",\r\n\t\t\t\t\t\tids: potentialResults\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\t//Part of Collection Results filters\r\n\t\t\tvar collectionResults = window.Widget?.Config?.[filterSet.TypeName]?.CollectionResults?.map(item => item.Id);\r\n\t\t\tif (collectionResults?.length > 0) {\r\n\t\t\t\tquery.MainFilters.push({\r\n\t\t\t\t\tWidgetName: \"widget-collectionresults\",\r\n\t\t\t\t\tLabel: \"In Collection\",\r\n\t\t\t\t\tItems: [{\r\n\t\t\t\t\t\tText: collectionResults.length + \" Items\"\r\n\t\t\t\t\t}],\r\n\t\t\t\t\tParameters: {\r\n\t\t\t\t\t\tn: \"collectionresults\",\r\n\t\t\t\t\t\tids: collectionResults\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction addRoles(roles, messagePrefix) {\r\n\t\t\tif (roles) {\r\n\t\t\t\troles.Organizations?.forEach(organization => {\r\n\t\t\t\t\tquery.MainFilters.push({\r\n\t\t\t\t\t\tWidgetName: \"widget-roles\",\r\n\t\t\t\t\t\tLabel: messagePrefix,\r\n\t\t\t\t\t\tItems: [{\r\n\t\t\t\t\t\t\tText: organization.Name\r\n\t\t\t\t\t\t}],\r\n\t\t\t\t\t\tParameters: { n: \"organizationroles\", aid: organization.Id, rid: roles.RoleIds }\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction addTexts(textArray) {\r\n\t\t\tif (textArray && textArray.length > 0) {\r\n\t\t\t\tquery.MainFilters.push({\r\n\t\t\t\t\tWidgetName: \"widget-text\",\r\n\t\t\t\t\tLabel: \"Widget Text\",\r\n\t\t\t\t\tInterfaceType: \"interfaceType:Text\",\r\n\t\t\t\t\tItems: textArray?.map(text => {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tText: text\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t})\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n//\r\n\r\n//Remove filters and/or filter items\r\nexport function widgetPruneFiltersAndOptions(filters, searchType) {\r\n\tvar filterSet = WidgetToFinderMap[searchType?.toLowerCase()];\r\n\tif (filterSet) {\r\n\t\tvar hiders = window.Widget?.Config?.[filterSet.TypeName]?.HideFiltersAndItems || [];\r\n\t\tvar updated = [];\r\n\t\tfilters.forEach(filter => {\r\n\t\t\tvar hider = hiders.filter(m => m.Identifier == filterSet.FilterMap[filter.URI])[0];\r\n\t\t\tif (hider) {\r\n\t\t\t\tif (!hider.Selected && hider.ItemIDs?.length > 0) {\r\n\t\t\t\t\tfilter.Items = filter.Items.filter(m => !hider.ItemIDs.includes(m.Id));\r\n\t\t\t\t\tupdated.push(filter);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tupdated.push(filter);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn updated;\r\n\t}\r\n\r\n\treturn filters;\r\n}\r\n//\r\n\r\n//SiteHeader, SearchResultLink, SearchResultButton, LogoBox\r\nexport function widgetGetColor(colorFor, getForegroundColor, fallback) {\r\n\tvar colorSet = window.Widget?.Config?.WidgetColors?.filter(m => m.ColorFor?.toLowerCase() == colorFor.toLowerCase())[0];\r\n\tif (colorSet) {\r\n\t\tvar foregroundColor = colorSet.UseDefaultForegroundColor ? fallback : colorSet.ForegroundColor;\r\n\t\tvar backgroundColor = colorSet.UseDefaultBackgroundColor ? fallback : colorSet.BackgroundColor;\r\n\t\treturn getForegroundColor ? foregroundColor : backgroundColor;\r\n\t}\r\n\telse {\r\n\t\treturn fallback;\r\n\t}\r\n}\r\n//\r\n\r\nfunction updateWidgetStyles() {\r\n\twindow.Widget.StyleTag.innerHTML = window.Widget.StyleRules.join(\"\\n\");\r\n}\r\n//\r\n\r\n//Helper functions\r\nfunction getData(url, success, error) {\r\n\tfetch(url).then(response => {\r\n\t\treturn response.text();\r\n\t}).then(text => {\r\n\t\tvar value = JSON.parse(text);\r\n\t\tsuccess?.(value);\r\n\t}).catch(response => {\r\n\t\tconsole.log(\"Error\", response);\r\n\t\terror?.(response);\r\n\t});\r\n}\r\n//\r\n\r\nfunction select(selector, element) {\r\n\treturn Array.from((element || document).querySelectorAll(selector));\r\n}\r\n//\r\n\r\nfunction hide(element) {\r\n\telement.dataset.originalDisplay = element.style.display;\r\n\telement.style.display = \"none\";\r\n}\r\n//\r\n\r\nfunction show(element) {\r\n\telement.style.display = element.dataset.widgetDisplay || element.dataset.originalDisplay || \"\";\r\n}\r\n//\r\n\r\nfunction create(element, classList) {\r\n\tvar element = document.createElement(element);\r\n\tclassList?.forEach(item => { element.classList.add(item); });\r\n\treturn element;\r\n}\r\n//\r\n\r\nfunction append(element, container) {\r\n\tcontainer.appendChild(element);\r\n\treturn element;\r\n}\r\n//\r\n\r\nfunction postData(url, data, success, error) {\r\n\tfetch(url, {\r\n\t\tmethod: \"POST\",\r\n\t\theaders: { \"Accept\": \"application/json\", \"Content-Type\": \"application/json\" },\r\n\t\tbody: JSON.stringify(data)\r\n\t}).then(response => {\r\n\t\treturn response.text();\r\n\t}).then(text => {\r\n\t\tvar value = JSON.parse(text);\r\n\t\tsuccess?.(value);\r\n\t}).catch(response => {\r\n\t\tconsole.log(\"Error\", response);\r\n\t\terror?.(response);\r\n\t});\r\n}\r\n//\r\n\r\nexport function widgetGetSingleLabelForCTDLType(type, fallback){\r\n\treturn window.Widget?.Config?.LabelMaps?.find(m => m.CTDLType == type)?.SingleLabel || fallback || type || \"Resource\";\r\n}\r\n//\r\n\r\nexport function widgetGetPluralLabelForCTDLType(type, fallback) {\r\n\treturn window.Widget?.Config?.LabelMaps?.find(m => m.CTDLType == type)?.PluralLabel || fallback || type || \"Resources\";\r\n}\r\n//\r\n\r\nexport function widgetGetSingleLabelForBroadType(type, fallback){\r\n\treturn window.Widget?.Config?.LabelMaps?.find(m => m.BroadType == type)?.SingleLabel || fallback || type || \"Resource\";\r\n}\r\n//\r\n\r\nexport function widgetGetPluralLabelForBroadType(type, fallback) {\r\n\treturn window.Widget?.Config?.LabelMaps?.find(m => m.BroadType == type)?.PluralLabel || fallback || type || \"Resources\";\r\n}\r\n//\r\n\r\nexport function widgetGetSingleLabelForText(text, fallback){\r\n\treturn window.Widget?.Config?.LabelMaps?.find(m => m.SingleReplace == text)?.SingleLabel || fallback || text || \"Resource\";\r\n}\r\n//\r\n\r\nexport function widgetGetPluralLabelForText(text, fallback) {\r\n\treturn window.Widget?.Config?.LabelMaps?.find(m => m.PluralReplace == text)?.PluralLabel || fallback || text || \"Resources\";\r\n}\r\n//\r\n\r\nfunction replaceTextWith(text, replaceType, labelType) {\r\n\ttext = text || \"\";\r\n\r\n\twindow.Widget?.Config?.LabelMaps?.forEach(Map => {\r\n\t\ttext = text.replace(new RegExp(Map[replaceType], \"gi\"), Map[labelType]);\r\n\t});\r\n\r\n\treturn text;\r\n}\r\n\r\nexport function widgetReplaceSingleLabelInText(text) {\r\n\treturn replaceTextWith(text, \"SingleReplace\", \"SingleLabel\");\r\n}\r\n//\r\n\r\nexport function widgetReplacePluralLabelInText(text) {\r\n\treturn replaceTextWith(text, \"PluralReplace\", \"PluralLabel\");\r\n}\r\n//\r\n","import styled, { css } from 'styled-components';\r\nimport { Link, LinkProps } from 'react-router-dom';\r\nimport { widgetGetColor } from '../../utils/SiteWidgetizer';\r\n\r\nexport const Hero = styled.h2`\r\n font-size: ${(props) => props.theme.fontSize.hero};\r\n font-weight: 400;\r\n line-height: 1.095;\r\n`;\r\n\r\ninterface ButtonProps {\r\n buttonType?: 'primary' | 'secondary' | 'tertiary' | 'filled';\r\n inline?: boolean;\r\n}\r\n\r\nexport const Button = styled.button`\r\n background: transparent;\r\n border: 1px solid ${(props) => props.theme.color.blueDark};\r\n color: ${(props) => props.theme.color.blueDark};\r\n cursor: pointer;\r\n font-size: ${(props) => props.theme.fontSize.lg};\r\n font-weight: 500;\r\n line-height: 1.125;\r\n min-width: 350px;\r\n padding: 0.65em 1.65em;\r\n\t border-radius: 3px;\r\n &:hover {\r\n filter: brightness(1.5);\r\n }\r\n\r\n ${(props) =>\r\n !props.buttonType &&\r\n css`\r\n &:hover {\r\n background: ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.blueDark)};\r\n color: ${(props) => widgetGetColor(\"SearchResultButton\", true, props.theme.color.white)};\r\n }\r\n `}\r\n\r\n ${(props) =>\r\n props.buttonType === 'primary' &&\r\n css`\r\n background: ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.blueDark)};\r\n border-color: ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.blueDark)};\r\n color: ${(props) => widgetGetColor(\"SearchResultButton\", true, props.theme.color.white)};\r\n `}\r\n ${(props) =>\r\n props.buttonType === 'secondary' &&\r\n css`\r\n background: ${(props) => widgetGetColor(\"SearchResultLink\", false, props.theme.color.aquaDark)};\r\n border-color: ${(props) => widgetGetColor(\"SearchResultLink\", true, props.theme.color.aquaDark)};\r\n color: ${(props) => widgetGetColor(\"SearchResultLink\", true, props.theme.color.blueDark)};\r\n `}\r\n ${(props) =>\r\n props.buttonType === 'tertiary' &&\r\n css`\r\n background: ${(props) => widgetGetColor(\"LogoBox\", false, props.theme.color.brown)};\r\n border-color: ${(props) => widgetGetColor(\"LogoBox\", false, props.theme.color.brown)};\r\n color: ${(props) => widgetGetColor(\"LogoBox\", true, props.theme.color.white)};\r\n\r\n &:hover {\r\n filter: brightness(1.25);\r\n }\r\n `}\r\n ${(props) =>\r\n props.buttonType === 'filled' &&\r\n css`\r\n background: ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.blueDark)};\r\n color: ${(props) => widgetGetColor(\"SearchResultButton\", true, props.theme.color.white)};\r\n `}\r\n ${(props) =>\r\n props.inline &&\r\n css`\r\n align-self: flex-start;\r\n `}\r\n`;\r\n\r\nexport const ButtonLink = styled(Button.withComponent('a'))<{ type?: 'link' }>`\r\n align-self: flex-start;\r\n text-decoration: none;\r\n text-align: center;\r\n display: inline-block;\r\n\r\n ${(props) =>\r\n props.type === 'link' &&\r\n css`\r\n background: ${(props) => widgetGetColor(\"SearchResultButton\", true, props.theme.color.white)};\r\n color: ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.blueDark)};\r\n border: none;\r\n `}\r\n`;\r\n\r\ntype LinkWithoutButtonTypeProps = ButtonProps & LinkProps;\r\n\r\n// Pick out Button prop values (like buttonType) that cause warnings when passed to a Link component.\r\nconst LinkWithoutButtonProps = ({\r\n buttonType,\r\n inline,\r\n ...linkProps\r\n}: LinkWithoutButtonTypeProps) => ;\r\n\r\nexport const InternalButtonLink = styled(\r\n Button.withComponent(LinkWithoutButtonProps),\r\n)`\r\n align-self: flex-start;\r\n text-decoration: none;\r\n text-align: center;\r\n display: inline-block;\r\n`;\r\n\r\nexport const CleanList = styled.ul`\r\n margin: 0;\r\n padding: 0;\r\n\r\n > li {\r\n list-style: none outside none;\r\n }\r\n`;\r\n\r\nexport const FlexRow = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-start;\r\n align-items: center;\r\n`;\r\n\r\nexport const FlexCol = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n align-items: stretch;\r\n`;\r\n\r\nexport const TextField = styled.input`\r\n border: 1px solid ${(props) => widgetGetColor(\"SearchResultLink\", false, props.theme.color.aquaDark)};\r\n border-radius: 0;\r\n font-size: ${(props) => props.theme.fontSize.lg};\r\n line-height: 1.125;\r\n padding: 0.625em 0.65em;\r\n margin: 0;\r\n width: 100%;\r\n`;\r\n\r\nexport const ContentDelimiter = styled.div`\r\n margin: 0 auto;\r\n max-width: ${(props) => props.theme.maxWidth};\r\n padding: 0 20px;\r\n`;\r\n","import styled from 'styled-components/macro';\r\nimport { widgetGetColor } from '../../utils/SiteWidgetizer';\r\n\r\nexport const StyledDropdown = styled.div`\r\n cursor: pointer;\r\n position: relative;\r\n`;\r\n\r\nexport const Header = styled.button`\r\n display: flex;\r\n width: 100%;\r\n justify-content: space-between;\r\n align-items: center;\r\n\tcolor: ${(props) => widgetGetColor(\"SearchResultButton\", true, \"\")};\r\n background-color: ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.aquaLight)};\r\n border: 1px solid ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.aquaLight)};\r\n font-size: ${(props) => props.theme.fontSize.lg};\r\n line-height: 1.125;\r\n padding: 0.65em 0.65em;\r\n`;\r\n\r\nexport const Options = styled.div`\r\n border-bottom: 1px solid ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.aquaDark)};\r\n left: 0;\r\n position: absolute;\r\n top: 100%;\r\n width: 100%;\r\n z-index: 10;\r\n`;\r\n\r\nexport const HeaderIcon = styled.div`\r\n display: inline-block;\r\n margin-left: 10px;\r\n`;\r\n\r\nexport const Option = styled.button<{ selected?: boolean }>`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n border: 1px solid ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.aquaDark)};\r\n border-bottom: 0 none;\r\n border-radius: 0;\r\n\tcolor: ${(props) => props.selected ? widgetGetColor(\"SearchResultButton\", true, \"\") : widgetGetColor(\"SearchResultButton\", false, \"\")};\r\n background-color: ${(props) => props.selected ? widgetGetColor(\"SearchResultButton\", false, props.theme.color.aquaLight) : widgetGetColor(\"SearchResultButton\", true, props.theme.color.white)};\r\n cursor: pointer;\r\n font-size: ${(props) => props.theme.fontSize.md};\r\n width: 100%;\r\n text-align: left;\r\n padding: 10px;\r\n margin: 0;\r\n\r\n &:hover {\r\n\t\tcolor: ${(props) => widgetGetColor(\"SearchResultButton\", true, \"\")};\r\n background-color: ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.aquaLight)};\r\n }\r\n`;\r\n\r\nexport const OptionIcon = styled.img`\r\n\tmargin-right: 10px;\r\n\tmax-width: 25px;\r\n\tmax-height: 25px;\r\n`;","import React, { useEffect, useRef, useState } from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faAngleDown } from '@fortawesome/free-solid-svg-icons';\r\nimport { StyledDropdown, Header, HeaderIcon, Options, Option, OptionIcon } from './styles';\r\n\r\ninterface Props {\r\n defaultOptionIndex?: number;\r\n options: any[];\r\n onChange?: (option: any) => void;\r\n\tgetOptionLabel?: (option: any) => string;\r\n\tariaLabel: string;\r\n}\r\n\r\nexport default function Dropdown(props: Props) {\r\n const [selectIndex, setSelectIndex] = useState(\r\n props.defaultOptionIndex ?? props.options.length > 0 ? 0 : -1,\r\n );\r\n const ref = useRef(null);\r\n const [expanded, setExpanded] = useState(false);\r\n\r\n function onChange(option: any, index: number) {\r\n setSelectIndex(index);\r\n setExpanded(!expanded);\r\n props.onChange && props.onChange(option);\r\n }\r\n\r\n function getOptionLabel(option: any) {\r\n if (option === undefined) {\r\n return '';\r\n }\r\n if (typeof option === 'string') {\r\n return option;\r\n } else {\r\n return props.getOptionLabel ? props.getOptionLabel(option) : '';\r\n }\r\n }\r\n\r\n const handleClickOutside = (event: any) => {\r\n if (ref.current && !ref.current.contains(event.target)) {\r\n setExpanded(false);\r\n }\r\n };\r\n\r\n const handleBlur = (event: any) => {\r\n if (ref.current && !ref.current.contains(event.relatedTarget)) {\r\n setExpanded(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (props.defaultOptionIndex !== undefined) {\r\n setSelectIndex(props.defaultOptionIndex);\r\n }\r\n }, [props.defaultOptionIndex]);\r\n\r\n useEffect(() => {\r\n document.addEventListener('click', handleClickOutside, true);\r\n return () => {\r\n document.removeEventListener('click', handleClickOutside, true);\r\n };\r\n });\r\n\r\n\t//Initialize for new query handller. May need to remove this if it causes issues?\r\n\tuseEffect(() => {\r\n\t\tsetSelectIndex(props.defaultOptionIndex || 0);\r\n\t\tprops.onChange && props.onChange(props.options[props.defaultOptionIndex || 0]);\r\n\t}, []);\r\n\r\n\tfunction handleKeyUp(event: React.KeyboardEvent) {\r\n\t\t/*\r\n\t\tswitch (event.keyCode) {\r\n\t\t\tcase 36: { setSelectIndex(0); event.stopPropagation(); event.preventDefault(); break; } //Home Key\r\n\t\t\tcase 38: { setSelectIndex(selectIndex - 1 <= 0 ? 0 : selectIndex - 1); event.stopPropagation(); event.preventDefault(); break; } //Up Arrow\r\n\t\t\tcase 40: { setSelectIndex(selectIndex + 1 >= props.options.length ? props.options.length - 1 : selectIndex + 1); event.stopPropagation(); event.preventDefault(); break; } //Down Arrow\r\n\t\t\tcase 35: { setSelectIndex(props.options.length - 1); event.stopPropagation(); event.preventDefault(); break; } //End Key\r\n\t\t\tdefault: break;\r\n\t\t}\r\n\r\n\t\tswitch (event.keyCode) {\r\n\t\t\tcase 38: { window.dispatchEvent(new KeyboardEvent(\"keydown\", { keyCode: 9, shiftKey: true })); break; }\r\n\t\t\tcase 40: { window.dispatchEvent(new KeyboardEvent(\"keydown\", { keyCode: 9 })); break; }\r\n\t\t\tdefault: break;\r\n\t\t}\r\n\t\t*/\r\n\t}\r\n\r\n\tvar currentIndex = selectIndex;\r\n\treturn (\r\n\t\t handleKeyUp(event)}>\r\n
setExpanded(!expanded)}>\r\n {getOptionLabel(props.options[selectIndex])}\r\n \r\n \r\n \r\n
\r\n\t\t\t\t\r\n\t\t\t\t\t{props.options.map((option, index) => (\r\n\t\t\t\t\t\t onChange(option, index)}>\r\n\t\t\t\t\t\t\t{option.icon && }\r\n\t\t\t\t\t\t\t{getOptionLabel(option)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n
\r\n );\r\n}\r\n","import styled, { css } from 'styled-components/macro';\r\n\r\nexport type PillType = 'filter' | 'filter-button';\r\n\r\ninterface PillProps {\r\n selected?: boolean;\r\n pillType?: PillType;\r\n}\r\n\r\nexport const StyledPill = styled.button`\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n cursor: pointer;\r\n background-color: ${(props) => props.theme.color.greyLight};\r\n border: 1px solid ${(props) => props.theme.color.greyLight};\r\n border-radius: 20px;\r\n font-size: ${(props) => props.theme.fontSize.sm};\r\n line-height: 1.714;\r\n padding: 0.2em 2rem 0.2em 1em;\r\n position: relative;\r\n\r\n &:hover {\r\n background-color: ${(props) => props.theme.color.white};\r\n border-color: ${(props) => props.theme.color.greyDark};\r\n }\r\n\r\n ${(outProps) => {\r\n switch (outProps.pillType) {\r\n case 'filter-button':\r\n return css`\r\n background-color: ${(props) =>\r\n outProps.selected\r\n ? props.theme.color.greyDark\r\n : 'transparent'};\r\n border-color: ${(props) => props.theme.color.greyDark};\r\n color: ${(props) =>\r\n outProps.selected\r\n ? props.theme.color.white\r\n : undefined};\r\n\r\n &:hover {\r\n background-color: ${(props) =>\r\n props.theme.color.greyDark};\r\n border-color: ${(props) => props.theme.color.greyDark};\r\n color: ${(props) => props.theme.color.white};\r\n }\r\n `;\r\n }\r\n }}\r\n\r\n .icon-right {\r\n position: absolute;\r\n right: 15px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n }\r\n`;\r\n\r\nexport const StyledUnremovablePill = styled.button`\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n\tcursor: default;\r\n background-color: ${(props) => props.theme.color.greyLight};\r\n border: 1px solid ${(props) => props.theme.color.greyLight};\r\n border-radius: 20px;\r\n font-size: ${(props) => props.theme.fontSize.sm};\r\n line-height: 1.714;\r\n padding: 0.2em 1em 0.2em 1em;\r\n position: relative;\r\n`;\r\n\r\nexport const PillContent = styled.span`\r\n margin: 0 10px;\r\n`;\r\n","import React, { ReactNode, useState } from 'react';\r\nimport { PillContent, PillType, StyledPill, StyledUnremovablePill } from './styles';\r\n\r\ninterface Props extends React.ButtonHTMLAttributes {\r\n content: ReactNode | string;\r\n onClick?: () => void;\r\n leftIcon?: ReactNode;\r\n rightIcon?: ReactNode;\r\n leftIconOnActive?: ReactNode;\r\n rightIconOnActive?: ReactNode;\r\n pillType?: PillType;\r\n\tisActive?: boolean;\r\n}\r\n\r\nexport default function Pill(props: Props) {\r\n const [isClicked, setIsClicked] = useState(false);\r\n\r\n\tfunction onClick(e: React.MouseEvent) {\r\n\t\tsetIsClicked(!isClicked);\r\n\t\tprops.onClick && props.onClick();\r\n }\r\n\r\n return (\r\n \r\n {props.isActive ?? isClicked\r\n ? props.leftIconOnActive || props.leftIcon\r\n : props.leftIcon}\r\n\t\t\t{props.content}\r\n\t\t\t{props.isActive ?? isClicked ? (\r\n\t\t\t\t\r\n\t\t\t\t\t{props.rightIconOnActive || props.rightIcon}\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t{props.rightIcon}\r\n\t\t\t)}\r\n \r\n );\r\n}\r\n\r\nexport function UnremovablePill(props: Props) {\r\n\treturn (\r\n\t\t\r\n\t\t\t{props.content}\r\n\t\t\r\n\t);\r\n}","import styled from 'styled-components/macro';\r\nimport { ContentDelimiter } from '../common';\r\nimport { widgetGetColor } from '../../utils/SiteWidgetizer';\r\n\r\nexport const Wrapper = styled.div`\r\n background-color: ${(p) => (window as any).Widget?.ID ? \"#333\" : p.theme.color.blueDark};\r\n padding: 1.5rem 0 2rem;\r\n\tborder-top: ${(p) => (window as any).Widget?.ID ? (\"5px solid \" + widgetGetColor(\"SiteHeader\", false, \"#CCC\")) : \"none\"};\r\n`;\r\n\r\nexport const Inner = styled(ContentDelimiter)`\r\n display: grid;\r\n grid-gap: 30px;\r\n grid-template-areas:\r\n 'left center'\r\n 'left right';\r\n grid-template-columns: fit-content(100px) 1fr;\r\n\r\n @media (min-width: ${(p) => p.theme.breakpoint.tabletLandscape}) {\r\n grid-template-areas: 'left center right';\r\n grid-template-columns: fit-content(150px) 1fr fit-content(250px);\r\n\r\n }\r\n`;\r\n\r\nexport const Left = styled.div`\r\n\tposition: relative;\r\n grid-area: left;\r\n`;\r\n\r\nexport const Center = styled.div`\r\n grid-area: center;\r\n`;\r\n\r\nexport const Right = styled.div`\r\n grid-area: right;\r\n color: ${(p) => p.theme.color.white};\r\n`;\r\n\r\nexport const Icon = styled.img`\r\n height: auto;\r\n width: auto;\r\n`;\r\n\r\nexport const Type = styled.small`\r\n color: ${(p) => (window as any).Widget?.ID ? \"#FFF\" : p.theme.color.aquaDark};\r\n`;\r\n\r\nexport const Title = styled.h1`\r\n margin-block: 7px;\r\n\tcolor: ${(p) => (window as any).Widget?.ID ? \"#FFF\" : p.theme.color.aquaDark};\r\n`;\r\n\r\nexport const SubTitle = styled.div`\r\n color: ${(p) => p.theme.color.white};\r\n margin-bottom: 7px;\r\n font-weight: 700;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n color: ${(p) => p.theme.color.white};\r\n`;\r\n\r\nexport const WhiteLink = styled.a`\r\n\tcolor: ${(p) => p.theme.color.white};\r\n\ttext-decoration: none;\r\n\t&:hover {\r\n\t\ttext-decoration: underline;\r\n\t}\r\n`;\r\n\r\nexport const BadgeIcon = styled.img`\r\n\tposition: absolute;\r\n\tbottom: 0;\r\n\tright: -10px;\r\n\tmax-width: 55px;\r\n\tmax-height: 55px;\r\n`;","import React, { ReactNode } from 'react';\r\nimport {\r\n Left,\r\n Center,\r\n Right,\r\n SubTitle,\r\n Wrapper,\r\n Inner,\r\n Type,\r\n Title,\r\n Content,\r\n\tIcon,\r\n\tBadgeIcon\r\n} from './styles';\r\nimport { legacySourceUrl } from '../../shared/globals';\r\n\r\ntype Props = Partial<{\r\n\ticon: string;\r\n\thasBadge?: boolean;\r\n fallBackIcon?: string;\r\n title: string;\r\n\tsubTitle: ReactNode;\r\n content: ReactNode;\r\n type: string;\r\n otherContent: ReactNode;\r\n}>;\r\n\r\nexport default function Banner({\r\n\ticon,\r\n\thasBadge,\r\n fallBackIcon,\r\n title,\r\n subTitle,\r\n content,\r\n type,\r\n otherContent,\r\n}: Props) {\r\n function onIconLoadingError(e: any) {\r\n e.target.src = fallBackIcon;\r\n }\r\n return (\r\n \r\n \r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\t{hasBadge && }\r\n \r\n
\r\n\t\t\t\t\t{type && (\r\n\t\t\t\t\t\t{type}\r\n\t\t\t\t\t)}\r\n {title}\r\n\t\t\t\t\t{subTitle && (\r\n\t\t\t\t\t\t{subTitle}\r\n\t\t\t\t\t)}\r\n {content}\r\n
\r\n {otherContent && {otherContent}}\r\n
\r\n
\r\n );\r\n}\r\n","// Please define all custom hooks here\r\nimport axios from 'axios';\r\nimport { useState, useEffect, useCallback } from 'react';\r\n\r\nfunction getWindowDimensions() {\r\n const { innerWidth: width, innerHeight: height } = window;\r\n return {\r\n width,\r\n height,\r\n };\r\n}\r\n\r\nfunction getQueryType(query: string): [type: 'max' | 'min', size: number] {\r\n const [type, size] = query.split(':');\r\n const reg = /\\D/g;\r\n let validatedSize = parseInt(size.trim().replaceAll(reg, ''));\r\n if (isNaN(validatedSize)) {\r\n validatedSize = 0;\r\n }\r\n return [type.includes('max') ? 'max' : 'min', validatedSize];\r\n}\r\n\r\nexport function useMediaQuery({ query }: { query: string }) {\r\n const [matchQuery, setMatchQuery] = useState(false);\r\n\r\n useEffect(() => {\r\n const [type, matchSize] = getQueryType(query);\r\n function handleResize() {\r\n const { width, height } = getWindowDimensions();\r\n if (type === 'max') {\r\n setMatchQuery(width <= matchSize);\r\n } else {\r\n setMatchQuery(width >= matchSize);\r\n }\r\n }\r\n\r\n handleResize();\r\n\r\n window.addEventListener('resize', handleResize);\r\n return () => window.removeEventListener('resize', handleResize);\r\n }, [query]);\r\n\r\n return matchQuery;\r\n}\r\n// A common function to get data from the server\r\nexport function useGet(): [\r\n boolean,\r\n boolean,\r\n (url: string, onSuccess: (data: any) => void) => void,\r\n] {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [hasError, setHasError] = useState(false);\r\n // Wrap this in useCallback to prevent effects that depend on it re-running.\r\n const get = useCallback((url: string, onSuccess: (data: any) => void) => {\r\n setHasError(false);\r\n setIsLoading(true);\r\n axios\r\n .get(url)\r\n .then((response) => {\r\n setIsLoading(false);\r\n const data = response.data;\r\n if (data.Successful === false) {\r\n throw data;\r\n } else {\r\n data.Result ? onSuccess(data.Result) : onSuccess(data);\r\n }\r\n })\r\n .catch((error) => {\r\n setIsLoading(false);\r\n setHasError(true);\r\n console.error(error);\r\n });\r\n }, []);\r\n\r\n return [isLoading, hasError, get];\r\n}\r\n","import styled from 'styled-components/macro';\r\n\r\ntype FlexJustify =\r\n | 'flex-start'\r\n | 'flex-end'\r\n | 'center'\r\n | 'space-between'\r\n | 'space-around'\r\n | 'space-evenly'\r\n | 'start'\r\n | 'end'\r\n | 'left'\r\n | 'right';\r\n\r\ntype FlexAlign = 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline';\r\n\r\ntype FlexWrap = 'nowrap' | 'wrap' | 'wrap-reverse';\r\n\r\n// this is to mimic the HStack of swiftUI\r\nconst Stack = styled.div<{\r\n spacing?: string;\r\n justify?: FlexJustify;\r\n align?: FlexAlign;\r\n flex?: number;\r\n wrap?: FlexWrap;\r\n}>`\r\n display: flex;\r\n justify-content: ${(props) => props.justify || 'flex-start'};\r\n align-items: ${(props) => props.align || 'stretch'};\r\n flex-wrap: ${(props) => props.wrap || 'nowrap'};\r\n flex: ${(props) => props.flex ?? 1};\r\n`;\r\n\r\nexport const HStack = styled(Stack)`\r\n > :not(:first-child, :last-child) {\r\n margin-left: ${(props) => props.spacing};\r\n margin-right: ${(props) => props.spacing};\r\n }\r\n > :last-child {\r\n margin-left: ${(props) => props.spacing};\r\n }\r\n > :first-child {\r\n margin-right: ${(props) => props.spacing};\r\n }\r\n`;\r\n\r\nexport const HStackFilterItem = styled(HStack)`\r\n\talign-items: baseline;\r\n\tmargin-bottom: 10px;\r\n\t& :hover {\r\n\t\tbackground-color: rgba(255,255,255,0.1);\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n\r\nexport const VStack = styled(Stack)`\r\n flex-direction: column;\r\n > :not(:first-child, :last-child) {\r\n margin-top: ${(props) => props.spacing};\r\n margin-bottom: ${(props) => props.spacing};\r\n }\r\n > :last-child {\r\n margin-top: ${(props) => props.spacing};\r\n }\r\n > :first-child {\r\n margin-bottom: ${(props) => props.spacing};\r\n }\r\n`;\r\n","import { Variant } from '.';\r\nimport styled, { css } from 'styled-components/macro';\r\nimport { VStack } from '../Stack';\r\nimport { widgetGetColor } from '../../utils/SiteWidgetizer';\r\n\r\ninterface Props {\r\n variant?: Variant;\r\n}\r\n\r\nexport const Wrapper = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n padding: 20px;\r\n ${(p) =>\r\n p.variant === 'Highlight' &&\r\n css`\r\n background-color: ${(p) => (window as any).Widget?.ID ? \"#F5F5F5\" : p.theme.color.aquaLight};\r\n\t\t\toutline: 1px solid ${(p) => (window as any).Widget?.ID ? \"#CCC\" : \"transparent\"};\r\n `}\r\n ${(p) =>\r\n p.variant === 'Shadow' &&\r\n css`\r\n box-shadow: 3px 3px 30px 0px #c2c3d0;\r\n `};\r\n ${(p) =>\r\n p.variant === 'Plain' &&\r\n css`\r\n background-color: ${(p) => p.theme.color.white};\r\n `}\r\n`;\r\n\r\nexport const Header = styled.div`\r\n border-bottom: ${(p) => css`3px solid ${p.theme.color.aquaDark}`};\r\n margin-bottom: 10px;\r\n`;\r\n\r\nexport const Title = styled.h2`\r\n margin-block: 7px;\r\n`;\r\n\r\nexport const Icon = styled.img`\r\n width: 50px;\r\n height: 50px;\r\n`;\r\n\r\nexport const MobileHeader = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n padding: 7px 10px;\r\n cursor: pointer;\r\n ${(p) =>\r\n p.variant === 'Highlight' &&\r\n css`\r\n background-color: ${(p) => p.theme.color.aquaLight};\r\n `}\r\n`;\r\n\r\nexport const MobileBorder = styled.div`\r\n border-bottom: ${(p) => css`1px solid ${p.theme.color.aquaDark}`};\r\n margin-top: 10px;\r\n width: 100%;\r\n\r\n ${VStack}:last-child ${MobileHeader}:last-child & {\r\n border-bottom: none;\r\n }\r\n`;\r\n\r\nexport const MobileIcon = styled(Icon)`\r\n margin-right: 10px;\r\n`;\r\n\r\nexport const MobileText = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n flex: 1;\r\n`;\r\n\r\nexport const MobilePanel = styled.div`\r\n position: fixed;\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n z-index: 1;\r\n overflow-y: scroll;\r\n background-color: ${(p) =>\r\n p.variant === 'Highlight'\r\n ? p.theme.color.aquaLight\r\n : p.theme.color.white};\r\n`;\r\n\r\nexport const MobilePanelHeader = styled.div`\r\n display: flex;\r\n background-color: ${(p) => p.theme.color.blueDark};\r\n padding: 10px;\r\n align-items: center;\r\n cursor: pointer;\r\n`;\r\n\r\nexport const MobilePanelTitle = styled.div`\r\n margin-left: 10px;\r\n color: ${(p) => p.theme.color.aquaDark};\r\n font-size: ${(p) => p.theme.fontSize.lg};\r\n font-weight: 700;\r\n`;\r\n\r\nexport const MobilePanelContent = styled.div`\r\n padding: 10px;\r\n`;\r\n\r\nexport const HeaderWithNote = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n border-bottom: ${(p) => css`3px solid ${widgetGetColor(\"SiteHeader\", false, p.theme.color.aquaDark)}`};\r\n margin-bottom: 10px;\r\n\r\n\t& h2 {\r\n\t\tmargin: 0;\r\n\t}\r\n\r\n\t& img {\r\n\t\twidth: 50px;\r\n\t\theight: 50px;\r\n\t\tmargin: 0 10px 10px 0;\r\n\t}\r\n`;\r\n\r\nexport const HeaderWithNoteContent = styled.div`\r\n\tflex: 1 1 auto;\r\n`;\r\n\r\nexport const HeaderNote = styled.div`\r\n\tfont-size: 90%;\r\n\tfont-style: italic;\r\n`;","import React, { ReactNode, useState } from 'react';\r\nimport { faAngleRight, faAngleLeft } from '@fortawesome/free-solid-svg-icons';\r\nimport { theme } from '../../shared/theme';\r\nimport { useMediaQuery } from '../../hooks';\r\nimport {\r\n Wrapper,\r\n Icon,\r\n\tHeaderWithNote,\r\n\tHeaderWithNoteContent,\r\n\tHeaderNote,\r\n Title,\r\n MobileIcon,\r\n MobileText,\r\n MobileHeader,\r\n MobilePanel,\r\n MobilePanelHeader,\r\n MobilePanelTitle,\r\n MobilePanelContent,\r\n MobileBorder,\r\n} from './styles';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n\r\nexport type Variant = 'Highlight' | 'Shadow' | 'Plain';\r\n\r\nexport interface Props {\r\n icon: string;\r\n title: string;\r\n children: ReactNode;\r\n\tvariant?: Variant;\r\n\tdescription?: string;\r\n}\r\n\r\nexport default function PageSection({ icon, title, variant, children, description }: Props) {\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n const [panelIsClosed, setPanelIsClosed] = useState(true);\r\n\r\n function openOrClosePanel() {\r\n setPanelIsClosed(!panelIsClosed);\r\n }\r\n\r\n if (isMobile) {\r\n if (panelIsClosed) {\r\n return (\r\n \r\n \r\n \r\n
{title}
\r\n \r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n \r\n \r\n \r\n {title}\r\n \r\n {children}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{title}\r\n\t\t\t\t\t{description && {description}}\r\n\t\t\t\t\r\n\t\t\t\r\n {children}\r\n \r\n );\r\n}\r\n","export default __webpack_public_path__ + \"static/media/icon-credentials-white-green-01.ca4e49d7.svg\";","export default __webpack_public_path__ + \"static/media/icon-about-blue-green-01.ff9a2450.svg\";","import styled from 'styled-components/macro';\r\n\r\nexport const Wrapper = styled.article``;\r\n\r\n//\r\n// -- Header --\r\n//\r\nexport const GraphHeader = styled.header`\r\n margin-bottom: 3rem;\r\n`;\r\n\r\nexport const GraphTitle = styled.h2`\r\n margin: 0;\r\n`;\r\n\r\nexport const GraphCounter = styled.div`\r\n color: ${(p) => p.theme.color.brown};\r\n font-size: 5rem;\r\n font-weight: 700;\r\n line-height: 1;\r\n margin-bottom: 1rem;\r\n`;\r\n\r\nexport const HeaderTitle = styled.h3`\r\n font-size: ${(props) => props.theme.fontSize.lg};\r\n line-height: 1.125;\r\n margin: 0;\r\n`;\r\n\r\nexport const HeaderContent = styled.div``;\r\n\r\n//\r\n// -- Body/Main --\r\n//\r\nexport const GraphMain = styled.div`\r\n @media (min-width: ${(p) => p.theme.breakpoint.tabletPortrait}) {\r\n display: grid;\r\n grid-gap: 30px;\r\n grid-template-columns: 350px 1fr;\r\n }\r\n`;\r\n\r\n//\r\n// -- Filters --\r\n//\r\nexport const Filters = styled.ul`\r\n border-top: 1px solid ${(p) => p.theme.color.greyLight};\r\n margin: 0;\r\n padding: 0;\r\n`;\r\n\r\nexport const FilterItem = styled.li`\r\n border-bottom: 1px solid ${(p) => p.theme.color.greyLight};\r\n line-height: 1;\r\n list-style: none outside none;\r\n margin: 0;\r\n`;\r\n\r\nexport const FilterButton = styled.button`\r\n background: transparent;\r\n border: 0 none;\r\n box-shadow: none;\r\n margin: 0;\r\n padding: 0.4rem 1rem;\r\n text-align: left;\r\n width: 100%;\r\n\r\n &.active,\r\n &:hover {\r\n background: linear-gradient(\r\n 90deg,\r\n ${(p) => p.theme.color.aquaDark} 4px,\r\n transparent 4px\r\n );\r\n }\r\n\r\n &.active {\r\n font-weight: 700;\r\n }\r\n`;\r\n\r\n//\r\n// -- Footer --\r\n//\r\nexport const GraphFooter = styled.footer`\r\n margin-top: 3rem;\r\n`;\r\n\r\nexport const FooterCounter = styled.div`\r\n font-size: ${(props) => props.theme.fontSize.xxl};\r\n font-weight: 700;\r\n line-height: 1.1667;\r\n`;\r\n\r\nexport const FooterTitle = styled.h3`\r\n font-size: ${(props) => props.theme.fontSize.lg};\r\n line-height: 1.125;\r\n margin: 0;\r\n`;\r\n\r\nexport const FooterContent = styled.div``;\r\n","import React from 'react';\r\nimport {\r\n FilterButton,\r\n FilterItem,\r\n Filters,\r\n FooterContent,\r\n FooterCounter,\r\n FooterTitle,\r\n GraphCounter,\r\n GraphFooter,\r\n GraphHeader,\r\n GraphMain,\r\n GraphTitle,\r\n HeaderContent,\r\n HeaderTitle,\r\n Wrapper,\r\n} from './styles';\r\n\r\ninterface Props {\r\n id: string;\r\n title: string;\r\n titleCounter: number;\r\n headerTitle: string;\r\n headerContent: string;\r\n footerTitle?: string;\r\n footerContent?: string;\r\n footerCounter?: number;\r\n filters: { label: string; action: string }[];\r\n}\r\n\r\nfunction Stats(props: Props) {\r\n return (\r\n \r\n \r\n {props.title}\r\n {props.titleCounter}\r\n {props.headerTitle}\r\n {props.headerContent}\r\n \r\n \r\n \r\n {props.filters.map((filter, index) => {\r\n return (\r\n \r\n console.log(filter.action)}>\r\n {filter.label}\r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n The dynamic graphic goes here.\r\n
\r\n It will be implemented later, when we have a better idea\r\n about the API and library to use.\r\n
\r\n
\r\n {(props.footerContent ||\r\n props.footerTitle ||\r\n props.footerContent) && (\r\n \r\n {props.footerCounter && (\r\n {props.footerCounter}\r\n )}\r\n {props.footerTitle && (\r\n {props.footerTitle}\r\n )}\r\n {props.footerContent && (\r\n {props.footerContent}\r\n )}\r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default Stats;\r\n","import React from 'react';\r\nimport styled, { keyframes } from 'styled-components/macro';\r\nimport {\r\n FontAwesomeIcon,\r\n FontAwesomeIconProps,\r\n} from '@fortawesome/react-fontawesome';\r\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons';\r\nimport { theme } from '../../shared/theme';\r\n\r\nconst rotate = keyframes`\r\n from {\r\n transform: rotate(0deg);\r\n }\r\n\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nconst Spinner = styled.div`\r\n display: inline-block;\r\n animation: ${rotate} 2s linear infinite;\r\n`;\r\n\r\ninterface Props {\r\n size?: FontAwesomeIconProps['size'];\r\n color?: FontAwesomeIconProps['color'];\r\n}\r\n\r\nexport default function ActivityIndicator({ size, color }: Props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport styled from 'styled-components/macro';\r\n\r\nimport {\r\n Hero,\r\n TextField,\r\n Button,\r\n ContentDelimiter,\r\n} from '../../components/common';\r\nimport Dropdown from '../../components/Dropdown';\r\nimport Pill from '../../components/Pill';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faListAlt, faClock } from '@fortawesome/free-regular-svg-icons';\r\nimport {\r\n faAngleDown,\r\n faAngleRight,\r\n faPlus,\r\n faTimes,\r\n faLocationArrow,\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport Banner from '../../components/Banner';\r\nimport PageSection from '../../components/PageSection';\r\nimport credIcon from '../../assets/images/icons/icon-credentials-white-green-01.svg';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport assessmentIcon from '../../assets/images/icons/icon-assessments-green-blue-01.svg';\r\nimport Stats from '../../components/Stats';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport { useGet } from '../../hooks';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport ErrorButton from '../../components/ErrorButton';\r\nimport { apiUrl } from '../../shared/globals';\r\nimport { Organization } from '../../types/external';\r\n\r\nconst Grid = styled.div`\r\n display: grid;\r\n grid-gap: 30px;\r\n grid-template-columns: repeat(4, 1fr);\r\n\r\n .cell {\r\n align-items: center;\r\n background-color: #f7f7f7;\r\n display: flex;\r\n justify-content: center;\r\n min-height: 200px;\r\n min-width: 200px;\r\n padding: 20px;\r\n }\r\n`;\r\n\r\nconst searchTeaserFooter = [\r\n {\r\n content: '1 instructional Program',\r\n leftIcon: faListAlt,\r\n },\r\n {\r\n content: '2 Learning Delivery Types',\r\n leftIcon: faLocationArrow,\r\n },\r\n {\r\n content: 'Time Estimate',\r\n leftIcon: faClock,\r\n },\r\n];\r\n\r\nfunction TestPage() {\r\n const [modalDataIsLoading, modalDataHasError, getModalData] = useGet();\r\n const [modal, setModal] = useState();\r\n const [modalUrl, setModalUrl] = useState();\r\n const [modalIsOpen, setModalIsOpen] = useState(false);\r\n const modalErrorUrl = `${apiUrl}/organization/error-url`;\r\n const modalValidUrl = `${apiUrl}/organization/2`;\r\n\r\n function onOpenModalClick(url: string) {\r\n return () => {\r\n setModalUrl(url);\r\n if (url === modalUrl) {\r\n setModalIsOpen(true);\r\n } else {\r\n getModalData(url, (data: any) => {\r\n\t\t\t\t\tsetModal(data);\r\n setModalIsOpen(true);\r\n });\r\n }\r\n };\r\n }\r\n\r\n function closeModal() {\r\n setModalIsOpen(false);\r\n }\r\n\r\n function modalIsLoadingFor(url: string) {\r\n return url === modalUrl && modalDataIsLoading;\r\n }\r\n\r\n function modalHasErrorFor(url: string) {\r\n return url === modalUrl && modalDataHasError;\r\n }\r\n\r\n return (\r\n
\r\n \r\n

Test Page

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

Banner

\r\n
\r\n
\r\n\r\n Text goes here
}\r\n otherContent={\r\n \r\n }\r\n />\r\n\r\n \r\n
\r\n

Typography

\r\n
\r\n
\r\n \r\n
\r\n Show mangled quartz flip vibe exactly\r\n
\r\n
\r\n \r\n
\r\n Pack my box with five dozen quality jugs\r\n
\r\n
\r\n \r\n
\r\n

Pack my box with five dozen quality jugs

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

\r\n The wizard quickly jinxed the gnomes before they\r\n vaporized\r\n

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

Show mangled quartz flip vibe exactly

\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 Grumpy wizards make a toxic brew for the jovial\r\n queen\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n Fix problem quickly with galvanized jets\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n The wizard quickly jinxed the gnomes before they\r\n vaporized\r\n \r\n
\r\n This style will get implemented once the \"Pill\"\r\n component is built\r\n
\r\n
\r\n
\r\n \r\n
\r\n Quick fox jumps nightly above wizard\r\n
\r\n
\r\n\r\n
\r\n

Fields / Dropdowns

\r\n
\r\n \r\n
\r\n \r\n
\r\n\t\t\t\t\t\t\t\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n

Buttons

\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

Pills

\r\n
\r\n \r\n
\r\n \r\n
\r\n 1 Organization Sector Type\r\n }\r\n leftIcon={\r\n \r\n }\r\n rightIcon={\r\n \r\n }\r\n rightIconOnActive={\r\n \r\n }\r\n pillType=\"filter\"\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n 1 Organization Sector Type\r\n }\r\n leftIcon={\r\n \r\n }\r\n rightIcon={\r\n \r\n }\r\n rightIconOnActive={\r\n \r\n }\r\n pillType=\"filter-button\"\r\n />\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Page Section

\r\n
\r\n
\r\n \r\n
Content goes here
\r\n \r\n \r\n
Content goes here
\r\n \r\n
\r\n\r\n
\r\n

Stats

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

Activity Indicator

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

Search Teaser

\r\n {/* (\r\n {link.content}}\r\n leftIcon={\r\n \r\n }\r\n rightIcon={\r\n \r\n }\r\n rightIconOnActive={\r\n \r\n }\r\n pillType=\"filter-button\"\r\n />\r\n ))}\r\n /> */}\r\n\r\n
\r\n
\r\n

Modal

\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default TestPage;\r\n","import styled from 'styled-components/macro';\r\nimport { Button } from '../common';\r\nimport { Header as DropdownHeader } from '../Dropdown/styles';\r\nimport { HStack, VStack } from '../Stack';\r\n\r\nexport const StyledSearchBar = styled(HStack)`\r\n justify-content: space-between;\r\n align-items: flex-end;\r\n flex-wrap: wrap;\r\n\r\n > * {\r\n margin-bottom: 10px;\r\n }\r\n`;\r\n\r\nexport const MobileStyledSearchBar = styled(VStack)``;\r\n\r\nexport const Section = styled(VStack)<{ minWidth?: number }>`\r\n ${(props) => props.minWidth && `min-width: ${props.minWidth}px`}\r\n`;\r\n\r\nexport const LocationSection = styled(Section)`\r\n flex: 0;\r\n min-width: 175px;\r\n`;\r\n\r\nexport const SectionTitle = styled.h2`\r\n padding: 0;\r\n margin: 0;\r\n`;\r\n\r\nexport const SearchButton = styled(Button)`\r\n min-width: 80px;\r\n padding: 0.65em 5px;\r\n`;\r\n\r\nexport const MobileSearchText = styled.p`\r\n font-size: ${(props) => props.theme.fontSize.lg};\r\n margin: 0;\r\n font-weight: bold;\r\n`;\r\n\r\nexport const MobileSearchIconButton = styled(Button)`\r\n padding: 5px;\r\n min-width: 40px;\r\n`;\r\n\r\nexport const ClearButton = styled(Button)`\r\n\tborder: none;\r\n\tborder-radius: 3px;\r\n\theight: 40px;\r\n\twidth: 40px;\r\n\tmin-width: 0;\r\n\tpadding: 0;\r\n`;","import {\r\n MainSearchType,\r\n} from '../types/internal';\r\nimport {\r\n\tAssessment,\r\n\tCredential,\r\n\tLearningOpportunity,\r\n Organization,\r\n Pathway,\r\n PathwaySet,\r\n DataSetProfile, \r\n ProgressionModel,\r\n ScheduledOffering,\r\n SupportService,\r\n Occupation,\r\n Job,\r\n WorkRole,\r\n Task,\r\n\tTransferValue,\r\n\tTransferIntermediary,\r\n\tFilterItem,\r\n CredentialingAction,\r\n Rubric,\r\n Metric,\r\n Industry,\r\n QualificationsFramework,\r\n AlignmentMap\r\n} from '../types/external';\r\nimport { decode } from 'html-entities';\r\n\r\nexport function isCheckboxFilter(item: any) {\r\n return (\r\n item.InterfaceType === 'filterType:CheckBox' ||\r\n item.InterfaceType === 'interfaceType:CheckBox'\r\n );\r\n}\r\n\r\nexport function isAutocompleteFilter(item: any) {\r\n return item.InterfaceType === 'interfaceType:Autocomplete';\r\n}\r\n\r\nexport function isTextboxFilter(item: any) {\r\n return item.InterfaceType == 'interfaceType:Text';\r\n}\r\n\r\nexport function isOrganization(item: any): item is Organization {\r\n return item.BroadType == 'Organization';\r\n}\r\n\r\nexport function isCredential(item: any): item is Credential {\r\n return item.BroadType == 'Credential';\r\n}\r\n\r\nexport function isLearningOpportunity(item: any): item is LearningOpportunity {\r\n return item.BroadType == 'LearningOpportunity';\r\n}\r\n\r\nexport function isAssessment(item: any): item is Assessment {\r\n return item.BroadType == 'Assessment';\r\n}\r\nexport function isPathway(item: any): item is Pathway {\r\n return item.BroadType == 'Pathway';\r\n}\r\nexport function isPathwaySet(item: any): item is PathwaySet {\r\n return item.BroadType == 'PathwaySet';\r\n}\r\nexport function isTransferValue(item: any): item is TransferValue {\r\n return item.BroadType == 'TransferValue';\r\n}\r\nexport function isTransferIntermediary(item: any): item is TransferIntermediary {\r\n return item.BroadType == 'TransferIntermediary';\r\n}\r\nexport function isDataSetProfile(item: any): item is DataSetProfile {\r\n return item.BroadType == 'DataSetProfile';\r\n}\r\nexport function isProgressionModel(item: any): item is ProgressionModel {\r\n return item.BroadType == 'ProgressionModel';\r\n}\r\nexport function isScheduledOffering(item: any): item is ScheduledOffering {\r\n return item.BroadType == 'ScheduledOffering';\r\n}\r\nexport function isSupportService(item: any): item is SupportService {\r\n return item.BroadType == 'SupportService';\r\n}\r\nexport function isOccupation(item: any): item is Occupation {\r\n return item.BroadType == 'Occupation';\r\n}\r\nexport function isJob(item: any): item is Job {\r\n return item.BroadType == 'Job';\r\n}\r\nexport function isTask(item: any): item is Task {\r\n return item.BroadType == 'Task';\r\n}\r\nexport function isWorkRole(item: any): item is WorkRole {\r\n return item.BroadType == 'WorkRole';\r\n}\r\nexport function isCredentialingAction(item: any): item is CredentialingAction {\r\n return item.BroadType == 'CredentialingAction';\r\n}\r\nexport function isRubric(item: any): item is Rubric {\r\n return item.BroadType == 'Rubric';\r\n}\r\nexport function isMetric(item: any): item is Metric {\r\n return item.BroadType == 'Metric';\r\n}\r\nexport function isIndustry(item: any): item is Industry {\r\n return item.BroadType == 'Industry';\r\n}\r\n\r\nexport function isQualificationsFramework(item: any): item is QualificationsFramework {\r\n return item.BroadType == 'QualificationsFramework';\r\n}\r\nexport function isAlignmentMap(item: any): item is AlignmentMap {\r\n return item.BroadType == 'AlignmentMap';\r\n}\r\n\r\nexport function getContextForAutoCompleteSearch(filterURI: string) {\r\n switch (filterURI) {\r\n case 'filter:OccupationType':\r\n return 'occupations';\r\n case 'filter:IndustryType':\r\n return 'industries';\r\n case 'filter:InstructionalProgramType':\r\n return 'instructionalprogramtypes';\r\n case 'filter:Organization':\r\n return 'mainsearch';\r\n default:\r\n return '';\r\n }\r\n}\r\n\r\nexport function getResultsLocationField(searchType: string) {\r\n switch (searchType) {\r\n case 'credential':\r\n case 'assessment':\r\n case 'learningopportunity':\r\n case 'supportservice':\r\n return 'AvailableAt';\r\n case 'organization':\r\n return 'Address';\r\n default:\r\n return '';\r\n }\r\n}\r\n\r\nexport function getMapInfoWindowFromSearchResultsLocations(\r\n searchType: string,\r\n resultItem: any,\r\n) {\r\n switch (searchType) {\r\n case 'credential':\r\n return `\r\n ${resultItem.Name}\r\n `;\r\n case 'organization':\r\n return `\r\n ${resultItem.Name}\r\n `;\r\n default:\r\n return '';\r\n }\r\n}\r\n\r\nexport function delayCallbackExecution(timer: any, fn: any, ms: number) {\r\n clearTimeout(timer);\r\n return setTimeout(fn, ms);\r\n}\r\n\r\nexport type FilterField = 'identifier' | 'Text' | 'Label';\r\n\r\nexport function formatPrice(number: number, currencyHTMLEntity?: string) {\r\n // Add commas see: https://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript?page=1&tab=votes#tab-top\r\n const numberWithCommas = number\r\n .toFixed(2)\r\n .toString()\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n // Decode HTML entity\r\n if (currencyHTMLEntity) {\r\n const decodedCurrency = decode(currencyHTMLEntity);\r\n return `${decodedCurrency}${numberWithCommas}`;\r\n }\r\n return numberWithCommas;\r\n}\r\n\r\nexport function getLinkType(url?: string) {\r\n return url ? (url[0] !== '/' ? 'external' : 'internal') : 'none';\r\n}\r\n\r\nexport const detailSectionProperties = {\r\n organizationAbout: [\r\n 'Description',\r\n 'SubjectWebpage',\r\n 'MissionAndGoalsStatement',\r\n 'MissionAndGoalsStatementDescription',\r\n 'AgentPurpose',\r\n 'AgentPurposeDescription',\r\n 'AgentType',\r\n 'AlternateName',\r\n 'Connections',\r\n ],\r\n organizationSectors: [\r\n 'AgentSectorType',\r\n 'IndustryType',\r\n 'ServiceType',\r\n 'Keyword',\r\n ],\r\n organizationProcess: [\r\n 'TransferValueStatement',\r\n\t\t'TransferValueStatementDescription',\r\n\t\t'SupportServiceStatement',\r\n 'AdministrationProcess',\r\n 'AppealProcess',\r\n 'ComplaintProcess',\r\n 'DevelopmentProcess',\r\n 'MaintenanceProcess',\r\n 'ReviewProcess',\r\n 'RevocationProcess',\r\n 'HasConditionManifest','HasCostManifest',\r\n 'HasVerificationService'\r\n ],\r\n organizationProcessProfiles: [\r\n 'AdministrationProcess',\r\n 'AppealProcess',\r\n 'ComplaintProcess',\r\n 'DevelopmentProcess',\r\n 'MaintenanceProcess',\r\n 'ReviewProcess',\r\n 'RevocationProcess',\r\n ],\r\n organizationManifests: [\r\n 'HasConditionManifest','HasCostManifest'\r\n ],\r\n credentialAbout: [\r\n 'Description',\r\n 'SubjectWebpage',\r\n 'AvailableOnlineAt',\r\n 'CredentialType ',\r\n 'CredentialStatusType',\r\n 'AudienceType',\r\n 'AudienceLevelType',\r\n 'LearningDeliveryType',\r\n 'AssessmentDeliveryType',\r\n ],\r\n credentialAboutConnections: [\r\n 'HasPart',\r\n 'IsPartOf',\r\n 'DegreeConcentration',\r\n 'DegreeMajor',\r\n 'DegreeMinor',\r\n 'AdvancedStandingFrom',\r\n 'IsAdvancedStandingFor',\r\n 'IsPreparationFor',\r\n 'IsRecommendedFor',\r\n 'IsRequiredFor',\r\n 'PreparationFrom',\r\n 'AssessesCompetencies',\r\n 'TeachesCompetencies',\r\n 'RequiresCompetencies',\r\n 'HasTransferValue',\r\n 'ProvidesTransferValueFor',\r\n 'ReceivesTransferValueFrom'\r\n ],\r\n credentialCostAndTime: [\r\n 'EstimatedCost',\r\n 'AssessmentCost',\r\n 'LearningOpportunityCost',\r\n 'FinancialAssistance',\r\n 'EstimatedDuration',\r\n 'RenewalFrequency',\r\n 'Requires',\r\n 'Recommends',\r\n 'Corequisite',\r\n 'CoPrerequisite',\r\n ],\r\n credentialCostAndTimeRenewal: [\r\n 'Renewal',\r\n //'RenewedBy',\r\n 'RenewedIn',\r\n //'RevokedBy',\r\n 'RevokedIn',\r\n 'Revocation',\r\n ],\r\n credentialRequirements: [\r\n 'Requires',\r\n 'Recommends',\r\n 'Corequisite',\r\n 'CoPrerequisite',\r\n 'EntryCondition','CommonConditions'\r\n ],\r\n entityConnections: [\r\n 'AdvancedStandingFrom',\r\n 'IsAdvancedStandingFor',\r\n 'IsPreparationFor',\r\n 'IsRecommendedFor',\r\n 'IsRequiredFor',\r\n 'PreparationFrom',\r\n 'Collections',\r\n 'TargetPathway',\r\n 'HasTransferValue',\r\n 'HasPart',\r\n 'Prerequisite',\r\n 'SupportServiceCondition',\r\n 'HasWorkRole',\r\n 'HasTask',\r\n 'HasOccupation',\r\n 'HasSupportService',\r\n 'HasJob',\r\n 'HasSpecialization',\r\n 'AbilityEmbodied',\r\n 'SkillEmbodied',\r\n 'KnowledgeEmbodied',\r\n 'PhysicalCapabilityType',\r\n 'PerformanceLevelType',\r\n 'EnvironmentalHazardType',\r\n 'SensoryCapabilityType',\r\n 'Classification',\r\n 'Instrument',\r\n 'Object',\r\n 'TargetCompetency',\r\n 'ProvidesTransferValueFor',\r\n 'ReceivesTransferValueFrom',\r\n 'ObjectOfAction',\r\n \"RelatedAssessment\",\r\n \"RelatedOccupation\",\r\n \"RelatedCredential\",\r\n \"RelatedJob\",\r\n \"RelatedLearningOpp\",\r\n \"HasCriterionCategorySet\",\r\n \"TargetOccupation\",\r\n \"HasRubric\",\r\n \"RelatedTask\",\r\n \"RelatedWorkRole\",\r\n \"RelatedActions\",\r\n \"RelatedDataSetProfiles\"\r\n ],\r\n entityCompetencies: [\r\n 'AssessesCompetencies',\r\n 'RequiresCompetencies',\r\n 'TeachesCompetencies',\r\n ],\r\n credentialConnections: [\r\n 'AssessesCompetencies',\r\n 'RequiresCompetencies'\r\n ],\r\n assessmentConnections: [\r\n 'AssessesCompetencies',\r\n 'RequiresCompetencies',\r\n 'ProvidesTransferValueFor',\r\n 'ReceivesTransferValueFrom'\r\n ],\r\n loppConnections: [\r\n 'TargetAssessment',\r\n 'TargetLearningOpportunity',\r\n 'TeachesCompetencies',\r\n 'RequiresCompetencies',\r\n 'IsPartOf',\r\n 'ProvidesTransferValueFor',\r\n 'ReceivesTransferValueFrom',\r\n 'ObjectOfAction'\r\n ],\r\n credentialProcess: [\r\n 'ProcessStandards', \r\n 'ProcessStandardsDescription', \r\n 'AdministrationProcess',\r\n 'AppealProcess',\r\n 'ComplaintProcess',\r\n 'DevelopmentProcess',\r\n 'MaintenanceProcess',\r\n 'ReviewProcess',\r\n 'RevocationProcess'\r\n ],\r\n credentialProcessProfiles: [\r\n 'AdministrationProcess',\r\n 'AppealProcess',\r\n 'ComplaintProcess',\r\n 'DevelopmentProcess',\r\n 'MaintenanceProcess',\r\n 'ReviewProcess',\r\n 'RevocationProcess'\r\n ],\r\n assessmentAbout: [\r\n 'Description',\r\n 'AvailableOnlineAt',\r\n 'SubjectWebpage',\r\n 'AudienceType',\r\n 'AudienceLevelType',\r\n 'AssessmentMethodType',\r\n 'DeliveryType',\r\n 'DeliveryTypeDescription',\r\n 'AssessmentUseType',\r\n\t\t'CreditValue',\r\n 'CreditUnitTypeDescription',\r\n\t\t'AssessesCompetencies'\r\n ],\r\n assessmentScoringMethod: [\r\n 'ScoringMethodDescription',\r\n 'ScoringMethodExample',\r\n 'ScoringMethodType',\r\n 'IsProctored',\r\n 'HasGroupEvaluation',\r\n 'HasGroupParticipation',\r\n ],\r\n assessmentExample: [\r\n 'AssessmentExampleDescription',\r\n 'AssessmentOutput',\r\n 'AssessmentExample',\r\n ],\r\n assessmentMethod: [\r\n 'AssessmentMethodDescription',\r\n 'AssessmentMethodType',\r\n ],\r\n assessmentProcess: [\r\n 'ExternalResearch',\r\n 'ProcessStandards',\r\n 'AdministrationProcess',\r\n 'DevelopmentProcess',\r\n 'MaintenanceProcess',\r\n ],\r\n assessmentProcessProfiles: [\r\n 'AdministrationProcess',\r\n 'DevelopmentProcess',\r\n 'MaintenanceProcess',\r\n ],\r\n creditValue: [\r\n\t\t'CreditValue',\r\n 'CreditUnitTypeDescription',\r\n ],\r\n deliveryType: [\r\n 'DeliveryType',\r\n 'DeliveryTypeDescription',\r\n ],\r\n loppAbout: [\r\n 'Description',\r\n 'AvailableOnlineAt',\r\n 'SubjectWebpage',\r\n 'AudienceType',\r\n 'AudienceLevelType',\r\n 'AssessmentMethodType',\r\n 'DeliveryType',\r\n 'DeliveryTypeDescription',\r\n 'LearningMethodType',\r\n 'LearningMethodDescription',\r\n\t\t'CreditValue',\r\n 'CreditUnitTypeDescription',\r\n\t\t'TeachesCompetencies'\r\n ],\r\n learningMethodType: [\r\n 'LearningMethodType',\r\n 'LearningMethodDescription',\r\n ],\r\n collectionAbout: [\r\n 'Description',\r\n 'SubjectWebpage',\r\n 'Connections',\r\n ],\r\n transferValueConnections: [\r\n 'TransferValueFor',\r\n 'TransferValueFrom',\r\n ],\r\n transferValueProcess: [\r\n 'DevelopmentProcess',\r\n ],\r\n transferIntermediaryAbout: [\r\n 'Description',\r\n 'SubjectWebpage',\r\n 'IntermediaryFor',\r\n 'CreditValue',\r\n 'CreditUnitTypeDescription',\r\n 'Requires'\r\n ],\r\n // Common sections\r\n contact: ['Email', 'SocialMedia'],\r\n additionalInformation: [\r\n 'Meta_LastUpdated',\r\n 'CTID',\r\n 'CredentialId',\r\n 'DUNS',\r\n 'FEIN',\r\n 'OPEID',\r\n 'IPEDSID',\r\n 'ISICV4',\r\n 'LEICode',\r\n 'Identifier',\r\n 'VersionIdentifier',\r\n 'AlternateName',\r\n 'InLanguage',\r\n 'FoundingDate',\r\n 'DateEffective',\r\n 'ExpirationDate',\r\n ],\r\n locations: [\r\n 'AvailabilityListing',\r\n 'Address',\r\n 'AvailableAt',\r\n 'SameAs'\r\n ],\r\n jurisdiction: [\r\n 'Jurisdiction',\r\n 'AccreditedIn',\r\n 'ApprovedIn',\r\n 'OfferedIn',\r\n 'RecognizedIn',\r\n 'RegulatedIn'\r\n ],\r\n qa: [\r\n 'QAReceived',\r\n 'QAPerformed'\r\n ],\r\n jurisdictionAssertions: [\r\n 'AccreditedIn',\r\n 'ApprovedIn',\r\n 'OfferedIn',\r\n 'RecognizedIn',\r\n 'RegulatedIn',\r\n 'RenewedIn',\r\n 'RevokedIn',\r\n ],\r\n subjectsAndKeywords: [\r\n 'Subject',\r\n 'InstructionalProgramType',\r\n 'Keyword',\r\n 'LocalSubject',\r\n 'ConceptTerm',\r\n 'ConceptKeyword'\r\n ],\r\n relatedOrganizations: [\r\n 'OwnedBy',\r\n 'OwnedOfferedBy',\r\n 'OfferedBy',\r\n 'RenewedBy',\r\n 'CopyrightHolder',\r\n 'Creator',\r\n 'Publisher',\r\n 'RightsHolder',\r\n 'DataProviderMain',\r\n \"AssertedBy\",\r\n \"ActingAgent\",\r\n \"Particpant\"\r\n ],\r\n occupationsAndIndustries: [\r\n 'OccupationType',\r\n 'IndustryType'\r\n ],\r\n costAndTime: [\r\n 'EstimatedCost',\r\n 'FinancialAssistance',\r\n 'EstimatedDuration'\r\n ],\r\n dataSetProfileAbout: [\r\n 'Description',\r\n 'Source'\r\n ],\r\n scheduledOfferingAbout: [\r\n 'Description',\r\n 'SubjectWebpage',\r\n 'AlternateName',\r\n ],\r\n supportServiceAbout: [\r\n 'Description',\r\n 'SubjectWebpage',\r\n 'AlternateName',\r\n ],\r\n occupationAbout: [\r\n 'Description',\r\n 'SubjectWebpage',\r\n 'AlternateName',\r\n ],\r\n pathwayComponentAbout: [\r\n 'Description',\r\n 'SubjectWebpage',\r\n 'AlternateName',\r\n ],\r\n workClassRequirements: [\r\n 'Requires' ],\r\n MetricAbout: [\r\n 'Description',\r\n 'SubjectWebpage',\r\n 'AlternateName',\r\n 'IncomeDeterminationType',\r\n 'EmploymentDefinition',\r\n 'EarningsDefinition',\r\n 'EarningsThreshold',\r\n 'Adjustment'\r\n ],\r\n dataSetProfileProcess: [\r\n 'AdministrationProcess',\r\n 'DevelopmentProcess',\r\n 'MaintenanceProcess',\r\n 'ReviewProcess'\r\n ],\r\n \r\n};\r\n","import styled from 'styled-components/macro';\r\n\r\nexport const Wrapper = styled.div`\r\n position: relative;\r\n width: 100%;\r\n`;\r\n\r\nexport const Suggestions = styled.div`\r\n position: absolute;\r\n top: 100%;\r\n width: 100%;\r\n z-index: 10;\r\n`;\r\n\r\nexport const Suggestion = styled.button`\r\n font-size: ${(props) => props.theme.fontSize.sm};\r\n background-color: ${(props) => props.theme.color.white};\r\n display: block;\r\n text-align: left;\r\n width: 100%;\r\n padding: 10px;\r\n border: 1px solid ${(props) => props.theme.color.greyLight};\r\n &:hover {\r\n background-color: ${(props) => props.theme.color.greyLight};\r\n }\r\n`;\r\n\r\nexport const SuggestionWrapper = styled.div``;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { delayCallbackExecution } from '../../utils';\r\nimport { TextField } from '../common';\r\nimport { Wrapper, Suggestions, Suggestion, SuggestionWrapper } from './styles';\r\n\r\ninterface Props {\r\n placeholder?: string;\r\n value: string;\r\n onChange?: (value: string) => any[] | Promise;\r\n getOptionLabel?: (option: any) => string;\r\n onSelect?: (option: any) => void;\r\n renderOption?: (option: any) => React.ReactNode;\r\n\tnotCloseOnSelect?: boolean;\r\n\taddItemHandler?: (searchText?: string, setSearchText?: React.Dispatch>, suggestions?: any[], onSelect?: any) => void;\r\n\tfieldName?: string;\r\n}\r\n\r\nexport default function AutoCompletionTextField(props: Props) {\r\n const [suggestions, setSuggestions] = useState([]);\r\n const [expanded, setExpanded] = useState(false);\r\n const [searchText, setSearchText] = useState(props.value || '');\r\n const ref = useRef(null);\r\n\tconst [timer, setTimer] = useState(0);\r\n\r\n async function onSearchTextChange(value: string) {\r\n // TODO: set a flag to avoid 1 redundant props.onChange\r\n const data = props.onChange ? await props.onChange(value) : [];\r\n if (data.length >= 15) {\r\n const newSuggestions = data.slice(0, 15);\r\n setSuggestions(newSuggestions);\r\n } else {\r\n setSuggestions(data);\r\n }\r\n setExpanded(true);\r\n }\r\n\r\n function onChange(event: React.ChangeEvent) {\r\n const newValue = event.target.value;\r\n setSearchText(newValue);\r\n setTimer(\r\n delayCallbackExecution(\r\n timer,\r\n () => onSearchTextChange(newValue),\r\n 500,\r\n ),\r\n );\r\n }\r\n\r\n function onSelect(option: any) {\r\n if (!props.notCloseOnSelect) {\r\n setExpanded(false);\r\n }\r\n props.onSelect && props.onSelect(option);\r\n }\r\n\r\n function getOptionLabel(option: any) {\r\n if (typeof option === 'string') {\r\n return option;\r\n } else {\r\n return props.getOptionLabel ? props.getOptionLabel(option) : '';\r\n }\r\n }\r\n\r\n\tfunction handleEnter(event: any) {\r\n\t\tif (props.addItemHandler && (event.which == 13 || event.keyCode == 13)) {\r\n\t\t\tprops.addItemHandler(searchText, setSearchText, suggestions, onSelect);\r\n\t\t\tsetExpanded(false);\r\n\t\t}\r\n\t}\r\n\r\n const handleClickOutside = (event: any) => {\r\n if (ref.current && !ref.current.contains(event.target)) {\r\n setExpanded(false);\r\n }\r\n };\r\n\r\n const handleBlur = (event: any) => {\r\n if (ref.current && !ref.current.contains(event.relatedTarget)) {\r\n setExpanded(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setSearchText(props.value);\r\n }, [props.value]);\r\n\r\n useEffect(() => {\r\n document.addEventListener('click', handleClickOutside, true);\r\n return () => {\r\n document.removeEventListener('click', handleClickOutside, true);\r\n };\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n {expanded && (\r\n \r\n {suggestions.map((option, index) =>\r\n props.renderOption ? (\r\n onSelect(option)}>\r\n {props.renderOption(option)}\r\n \r\n ) : (\r\n onSelect(option)}>\r\n {getOptionLabel(option)}\r\n \r\n ),\r\n )}\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","export default __webpack_public_path__ + \"static/media/icon-credentials-blue-green-01.9ba19430.svg\";","export default __webpack_public_path__ + \"static/media/icon-organization-blue-green-01.37f824ec.svg\";","export default __webpack_public_path__ + \"static/media/icon-assessments-blue-green-01.4cd40676.svg\";","export default __webpack_public_path__ + \"static/media/CE-Icon_3-Learning-Opportunity_Blue-Green_High-Res.4ee8a5c9.png\";","export default __webpack_public_path__ + \"static/media/icon-competencies-blue-green-01.57b25d02.svg\";","export default __webpack_public_path__ + \"static/media/icon-pathways-blue-green-01.3484e979.svg\";","export default __webpack_public_path__ + \"static/media/icon-transfer-value-blue-green-01.3bdcd76c.svg\";","export default __webpack_public_path__ + \"static/media/CE-Icon_10-Support_Blue-Green_High-Res.ecbca2ca.png\";","export default __webpack_public_path__ + \"static/media/CE-Icon_12-Industries_Blue-Green_High-Res.bbcb4f7c.png\";","export default __webpack_public_path__ + \"static/media/CE-Icon_13-Jobs_Blue-Green_High-Res.deb6681e.png\";","export default __webpack_public_path__ + \"static/media/CE-Icon_11-Occupations_Blue-Green_High-Res.46fa5d43.png\";","export default __webpack_public_path__ + \"static/media/CE-Icon_14-Work-Roles_Blue-Green_High-Res.d7e8ee52.png\";","export default __webpack_public_path__ + \"static/media/CE-Icon_20-QA-Actions_Blue-Green_High-Res.91b18f1c.png\";","export default __webpack_public_path__ + \"static/media/CE-Icon_21-Rubrics_Blue-Green_High-Res.81b89ac1.png\";","export default __webpack_public_path__ + \"static/media/CE-Icon_22-Metrics_Blue-Green_High-Res.248ee020.png\";","export default __webpack_public_path__ + \"static/media/CE-Icon_8-Outcome-Data_Blue-Green_High-Res.f4475f38.png\";","export default __webpack_public_path__ + \"static/media/CE-Icon_6-Collection_Blue-Green_High-Res.38c9f81a.png\";","export default __webpack_public_path__ + \"static/media/CE-Icon_15-Tasks_Blue-Green_High-Res.5c6bb1f1.png\";","export default __webpack_public_path__ + \"static/media/CE-Icon_17-Transfer-Intermediary_Blue-Green_High-Res.7ec09bfc.png\";","export default __webpack_public_path__ + \"static/media/CE-Icon_19-Progression-Model_Blue-Green_High-Res.b6b02146.png\";","export default __webpack_public_path__ + \"static/media/CE-Icon_18-Concept-Scheme_Blue-Green_High-Res.a5ea83a3.png\";","export default __webpack_public_path__ + \"static/media/CE-Icon_23-Qualification-Frameworks_Blue-Green_High-Res.89c2bb0d.png\";","import { MainSearchOption } from '../types/internal';\r\nimport { MainQueryType } from '../types/external';\r\nimport { configName } from './globals';\r\nimport credentialIcon from '../assets/images/icons/icon-credentials-blue-green-01.svg';\r\nimport organizationIcon from '../assets/images/icons/icon-organization-blue-green-01.svg';\r\nimport assessmentIcon from '../assets/images/icons/icon-assessments-blue-green-01.svg';\r\nimport courseIcon from '../assets/images/UpdatedIcons/CE-Icon_3-Course_Blue-Green_High-Res.png';\r\nimport learningopportunityIcon from '../assets/images/UpdatedIcons/CE-Icon_3-Learning-Opportunity_Blue-Green_High-Res.png';\r\nimport learningprogramIcon from '../assets/images/UpdatedIcons/CE-Icon_3-Learning-Program_Blue-Green_High-Res.png';\r\nimport competencyframeworkIcon from '../assets/images/icons/icon-competencies-blue-green-01.svg';\r\nimport pathwayIcon from '../assets/images/icons/icon-pathways-blue-green-01.svg';\r\nimport pathwaySetIcon from '../assets/images/icons/icon-pathways-blue-green-01.svg';\r\nimport transfervalueIcon from '../assets/images/icons/icon-transfer-value-blue-green-01.svg';\r\n\r\nimport supportServiceIcon from '../assets/images/UpdatedIcons/CE-Icon_10-Support_Blue-Green_High-Res.png';\r\nimport scheduledOfferingIcon from '../assets/images/UpdatedIcons/CE-Icon_9-Scheduled-Offering_Blue-Green_High-Res.png';\r\nimport industryIcon from '../assets/images/UpdatedIcons/CE-Icon_12-Industries_Blue-Green_High-Res.png';\r\nimport jobIcon from '../assets/images/UpdatedIcons/CE-Icon_13-Jobs_Blue-Green_High-Res.png';\r\nimport occupationIcon from '../assets/images/UpdatedIcons/CE-Icon_11-Occupations_Blue-Green_High-Res.png';\r\nimport workRoleIcon from '../assets/images/UpdatedIcons/CE-Icon_14-Work-Roles_Blue-Green_High-Res.png';\r\nimport qaActionsIcon from '../assets/images/UpdatedIcons/CE-Icon_20-QA-Actions_Blue-Green_High-Res.png';\r\nimport rubricsIcon from '../assets/images/UpdatedIcons/CE-Icon_21-Rubrics_Blue-Green_High-Res.png';\r\nimport metricIcon from '../assets/images/UpdatedIcons/CE-Icon_22-Metrics_Blue-Green_High-Res.png';\r\nimport outcomeDataIcon from '../assets/images/UpdatedIcons/CE-Icon_8-Outcome-Data_Blue-Green_High-Res.png';\r\nimport collectionIcon from '../assets/images/UpdatedIcons/CE-Icon_6-Collection_Blue-Green_High-Res.png';\r\nimport taskIcon from '../assets/images/UpdatedIcons/CE-Icon_15-Tasks_Blue-Green_High-Res.png';\r\nimport transferIntermediaryIcon from '../assets/images/UpdatedIcons/CE-Icon_17-Transfer-Intermediary_Blue-Green_High-Res.png';\r\nimport progressionModelIcon from '../assets/images/UpdatedIcons/CE-Icon_19-Progression-Model_Blue-Green_High-Res.png';\r\nimport conceptSchemeIcon from '../assets/images/UpdatedIcons/CE-Icon_18-Concept-Scheme_Blue-Green_High-Res.png';\r\nimport qualificationsFrameworkIcon from '../assets/images/UpdatedIcons/CE-Icon_23-Qualification-Frameworks_Blue-Green_High-Res.png';\r\nimport alignmentMapIcon from '../assets/images/UpdatedIcons/CE-Icon_17-Transfer-Intermediary_Blue-Green_High-Res.png';\r\n\r\nexport const resultDisplayOptions = [\r\n { key: 'showAll', value: 'Show All' },\r\n { key: 'showDescription', value: 'Show Descriptions' },\r\n { key: 'showButton', value: 'Show Buttons' },\r\n];\r\n\r\nexport const sortOptions = [\r\n { key: 'sortOrder:MostRelevant', value: 'Sort by Relevance' },\r\n { key: 'sortOrder:Newest', value: 'Sort by Most Recent' },\r\n { key: 'sortOrder:Oldest', value: 'Sort by Least Recent' },\r\n { key: 'sortOrder:AtoZ', value: 'Sort by A-Z' },\r\n { key: 'sortOrder:ZtoA', value: 'Sort by Z-A' },\r\n];\r\n\r\nexport const mainSearchTypeOptions: MainSearchOption[] = [\r\n { key: 'credential', value: 'Credentials', icon: credentialIcon },\r\n\t{ key: 'organization', value: 'Organizations', icon: organizationIcon },\r\n\t{ key: 'assessment', value: 'Assessments', icon: assessmentIcon },\r\n\t{ key: 'learningopportunity', value: 'Learning Opportunities', icon: learningopportunityIcon },\r\n\t{ key: 'competencyframework', value: 'Competency Frameworks', icon: competencyframeworkIcon },\r\n\t{ key: 'collection', value: \"Collections\", icon: collectionIcon },\r\n\t{ key: 'pathway', value: 'Pathways', icon: pathwayIcon },\r\n\t{ key: 'outcomedata', value: 'Outcome Data', icon: outcomeDataIcon },\r\n { key: 'supportservice', value: 'Support Services', icon: supportServiceIcon },\r\n { key: 'job', value: 'Jobs', icon: jobIcon },\r\n { key: 'occupation', value: 'Occupations', icon: occupationIcon },\r\n { key: 'credentialingaction', value: 'Quality Assurance Actions', icon: qaActionsIcon },\r\n { key: 'rubric', value: 'Rubrics', icon: rubricsIcon },\r\n { key: 'transfervalue', value: 'Transfer Values', icon: transfervalueIcon },\r\n { key: 'transferintermediary', value: 'Transfer Intermediaries', icon: transferIntermediaryIcon },\r\n { key: 'conceptscheme', value: 'Concept Schemes', icon: conceptSchemeIcon },\r\n\t{ key: 'progressionmodel', value: 'Progression Models', icon: progressionModelIcon },\r\n\t{ key: 'workrole', value: 'Work Roles', icon: workRoleIcon },\r\n { key: 'task', value: 'Tasks', icon: taskIcon },\r\n { key: 'industry', value: 'Industries', icon: industryIcon },\r\n { key: 'metric', value: 'Metrics', icon: metricIcon },\r\n { key: 'qualificationsframework', value: 'Qualifications Frameworks', icon: qualificationsFrameworkIcon },\r\n { key: 'alignmentmap', value: 'Alignment Maps', icon: alignmentMapIcon },\r\n\r\n /* { key: 'pathwayset', value: 'Pathway Sets', icon: pathwaySetIcon }*/\r\n];\r\n\r\nexport const mapLocationSearchOption = [\r\n { key: 'positionType:In', value: 'In' },\r\n\t{ key: 'positionType:Near_25', value: 'Near (25 miles)' },\r\n\t{ key: 'positionType:Near_50', value: 'Near (50 miles)' },\r\n\t{ key: 'positionType:Near_100', value: 'Near (100 miles)' },\r\n];\r\n\r\nexport const defaultQuery: MainQueryType = {\r\n SearchType: 'credential',\r\n Keywords: '',\r\n MapFilter: {\r\n PositionType: 'positionType:In',\r\n },\r\n PageSize: 20,\r\n SkipPages: 0,\r\n SortOrder: 'sortOrder:MostRelevant',\r\n MainFilters: [],\r\n};\r\n\r\nexport const defaultMapSetting = {\r\n center: { lat: 39.8283, lng: -98.5795 },\r\n zoom: 4,\r\n};\r\n\r\nexport const statDataLabel: { [key: string]: string } = {\r\n Organization: 'Organizations',\r\n Credential: 'Credentials',\r\n Assessment: 'Assessments',\r\n LearningOpportunity: 'Learning Opportunities',\r\n CompetencyFramework: 'Competency Frameworks',\r\n AlignmentMap: 'Alignment Maps',\r\n Industry: 'Industries',\r\n Job: 'Jobs',\r\n Metric: 'Metrics',\r\n Occupation: 'Occupations',\r\n OutcomeData: 'Outcome Data',\r\n QualificationsFramework: 'Qualifications Frameworks',\r\n Pathway: 'Pathways',\r\n PathwaySet: 'Pathway Sets',\r\n ProgressionModel: 'Progression Models',\r\n CredentialingAction: 'Quality Assurance Actions',\r\n Rubric: 'Rubrics',\r\n ScheduledOffering: 'Scheduled Offerings',\r\n SupportService: 'Support Services',\r\n Task: \"Tasks\",\r\n TransferValue: 'Transfer Values',\r\n TransferIntermediary: 'Transfer Intermediaries',\r\n WorkRole: 'Work Roles',\r\n};\r\n","import { Filter, MainQueryType } from '../types/external';\r\n\r\nexport function constructSearchQuery(\r\n query: MainQueryType,\r\n filters: Filter[],\r\n) {\r\n\treturn query;\r\n // do logic here to return URL + filter object\r\n let queryObject: MainQueryType = {\r\n ...query\r\n\t};\r\n\t/*\r\n // handle MainFilters\r\n Object.keys(query.MainFilters).forEach((key) => {\r\n // merge filter so\r\n const queryFilter = query.MainFilters[key];\r\n const filterWithKey = (filters || []).find((item) => item.Id == key);\r\n let newFilter: Partial = {};\r\n if (filterWithKey) {\r\n newFilter = {\r\n ...filterWithKey,\r\n Items: [],\r\n };\r\n } else {\r\n // this is the case for the search base URL\r\n newFilter = {\r\n Id: key == '-1' ? '' : key,\r\n Items: [],\r\n };\r\n\t\t}\r\n\t\tif ((queryFilter as any).Items) { //Widget code injects this part\r\n\t\t\tnewFilter.Items = (queryFilter as any).Items;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tconst filterItems = queryFilter.filterItems.map((item) => {\r\n\t\t\t\tconst { identifier, parentId, ...rest } = item;\r\n\t\t\t\treturn rest;\r\n\t\t\t});\r\n\t\t\tnewFilter.Items = filterItems;\r\n\t\t}\r\n\r\n\t\tif (queryFilter.parameters) {\r\n\t\t\tnewFilter.Parameters = queryFilter.parameters;\r\n\t\t}\r\n\t\tif ((queryFilter as any).Parameters) { //Widget code injects this part\r\n\t\t\tnewFilter.Parameters = (queryFilter as any).Parameters;\r\n\t\t}\r\n queryObject.MainFilters.push(newFilter);\r\n\t});\r\n\t*/\r\n\r\n return { ...queryObject };\r\n}\r\n","import React, { useContext, useState } from 'react';\r\nimport { faQuestionCircle } from '@fortawesome/free-regular-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport Dropdown from '../Dropdown';\r\nimport { HStack } from '../Stack';\r\nimport { useMediaQuery } from '../../hooks';\r\nimport { theme } from '../../shared/theme';\r\nimport { faSearch } from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n MobileSearchText,\r\n Section,\r\n SectionTitle,\r\n StyledSearchBar,\r\n MobileSearchIconButton,\r\n LocationSection,\r\n SearchButton,\r\n\tMobileStyledSearchBar,\r\n\tClearButton\r\n} from './styles';\r\nimport AutoCompletionTextField from '../AutoCompletionTextField';\r\nimport { MainSearchOption, MainSearchType } from '../../types/internal';\r\nimport { MainQueryType } from '../../types/external';\r\nimport { configName } from '../../shared/globals';\r\nimport {\r\n defaultQuery,\r\n mainSearchTypeOptions,\r\n mapLocationSearchOption,\r\n} from '../../shared/data';\r\nimport { autocompleteFilterSearchApiUrl, locationBoxSearchApiUrl } from '../../shared/globals';\r\nimport axios from 'axios';\r\nimport { QueryContext, FilterContext } from '../../App';\r\nimport { constructSearchQuery } from '../../services/api';\r\nimport { doesWidgetHideThisSearchType, widgetApplyWidgetToQuery, widgetGetPluralLabelForText } from '../../utils/SiteWidgetizer';\r\nimport { getCurrentQuery, setCurrentQuery, updateCurrentQuery } from '../../utils/SearchHelper';\r\n\r\ninterface Props {\r\n onSearchButtonClick: () => void;\r\n}\r\n\r\nexport default function SearchBar(props: Props) {\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\tconst queryContext = useContext(QueryContext);\r\n\tconst [wasURLInitialized, setWasURLInitialized] = useState(false);\r\n\tconst filterContext = useContext(FilterContext);\r\n\r\n\tvar filteredSearchTypeOptions = mainSearchTypeOptions.filter(m => !doesWidgetHideThisSearchType(m.key));\r\n\tif (configName == \"env.production\") {\r\n\t\tfilteredSearchTypeOptions = filteredSearchTypeOptions.filter(m => m.key != 'pathwayset'\r\n\t\t\t&& m.key != 'qualificationsframework'\r\n\t\t\t&& m.key != 'alignmentmap'\r\n\t/*\t\t&& m.key != 'progressionmodel'*/\r\n\t\t\t//&& m.key != 'task'\r\n\t\t\t//&& m.key != 'workrole'\r\n\t\t);\r\n\t} else if (configName == \"env.flstaging\") {\r\n\t\tfilteredSearchTypeOptions = filteredSearchTypeOptions.filter(m => m.key == 'credential'\r\n\t\t\t|| m.key == 'organization'\r\n\t\t\t|| m.key == 'collection'\r\n\r\n\t\t);\r\n\t} else if (configName == \"env.texas\") {\r\n\t\tfilteredSearchTypeOptions = filteredSearchTypeOptions.filter(m => m.key == 'credential'\r\n\t\t\t|| m.key == 'organization'\r\n\t\t\t|| m.key == 'learningopportunity'\r\n\t\t\t|| m.key == 'collection'\r\n\r\n\t\t);\r\n\t} else if (configName == \"env.chaffey\") {\r\n\t\tfilteredSearchTypeOptions = filteredSearchTypeOptions.filter(m => m.key == 'credential'\r\n\t\t\t|| m.key == 'organization'\r\n\t\t\t|| m.key == 'learningopportunity'\r\n\t\t\t|| m.key == 'collection'\r\n\r\n\t\t);\r\n\t}\r\n\tvar availableOptions = filteredSearchTypeOptions.map(m => m.key);\r\n\tif (!wasURLInitialized) {\r\n\t\tvar targetSearchType = new URLSearchParams(window.location.search).get(\"searchType\") || \"\";\r\n\t\tif (targetSearchType.length > 0) {\r\n\t\t\tqueryContext.query.SearchType = (availableOptions.filter(m => m == targetSearchType)[0] || availableOptions[0]) as MainSearchType;\r\n\t\t}\r\n\t\tsetWasURLInitialized(true);\r\n\t}\r\n\t\r\n function getDefaultDropboxIndex(type: 'main' | 'map') {\r\n\t\tconst searchType = queryContext.query.SearchType || 'credential';\r\n\r\n\t\tlet defaultIndex = filteredSearchTypeOptions.findIndex((option) => {\r\n return option.key === searchType;\r\n });\r\n if (type === 'map') {\r\n const mapPositionType =\r\n queryContext.query.MapFilter?.PositionType || 'positionType:In';\r\n\r\n defaultIndex = mapLocationSearchOption.findIndex((option) => {\r\n return option.key === mapPositionType;\r\n });\r\n }\r\n return defaultIndex;\r\n }\r\n\r\n function getDefaultMainSearchType() {\r\n return getDefaultDropboxIndex('main');\r\n }\r\n\r\n function getDefaultMapLocationPositionType() {\r\n return getDefaultDropboxIndex('map');\r\n }\r\n\r\n function onSearchButtonClick(e: any) {\r\n props.onSearchButtonClick();\r\n }\r\n\r\n\tfunction onSelectMainSearchOption(option: any) {\r\n\t\tupdateCurrentQuery((query: any) => {\r\n\t\t\tquery.Keywords = option.Label;\r\n\t\t});\r\n\t\t/* */\r\n\r\n queryContext.updateQuery({\r\n ...queryContext.query,\r\n Keywords: option.Label,\r\n });\r\n }\r\n\r\n\tfunction onBroadTypeOptionSelect(option: MainSearchOption) {\r\n\t\tclearSearch();\r\n\t\tupdateCurrentQuery((query: any) => {\r\n\t\t\tquery.SearchType = option.key;\r\n\t\t});\r\n\t\t(window as any).IsOriginalSearchType = false;\r\n\t\t/* */\r\n\r\n queryContext.updateQuery({\r\n ...defaultQuery,\r\n SearchType: option.key,\r\n });\r\n }\r\n\r\n\tasync function onMainTextSearchChange(value: string) {\r\n\t\tupdateCurrentQuery((query: any) => {\r\n\t\t\tquery.Keywords = value;\r\n\t\t\tquery.Force = true; //Force the query to run when the user types something, even if it is identical to the previous time it ran\r\n\t\t});\r\n\t\t/* */\r\n\r\n const url = `${autocompleteFilterSearchApiUrl}`;\r\n const query = {\r\n SearchType: queryContext.query.SearchType,\r\n FilterURI: 'mainsearch',\r\n FilterItemURI: 'interfaceType:Text',\r\n Text: value,\r\n };\r\n queryContext.updateQuery({\r\n ...queryContext.query,\r\n Keywords: value,\r\n\t\t});\r\n\t\tconst autocompleteQuery = {\r\n\t\t\t...constructSearchQuery(queryContext.query, filterContext[queryContext.query.SearchType]),\r\n\t\t\tKeywords: value,\r\n\t\t\tAutocompleteContext: 'mainsearch'\r\n\t\t};\r\n\t\twidgetApplyWidgetToQuery(autocompleteQuery, queryContext.query.SearchType);\r\n try {\r\n\t\t\tconst res = await axios.post(url, autocompleteQuery);\r\n return res.data.Successful ? res.data.Result.Items || [] : [];\r\n } catch (error) {\r\n return [];\r\n }\r\n }\r\n\r\n\tfunction onLocationSearchOptionSelect(value: any) {\r\n\t\tupdateCurrentQuery((query: any) => {\r\n\t\t\tquery.MapFilter = query.MapFilter || {};\r\n\t\t\tquery.MapFilter.PositionType = value.key;\r\n\t\t});\r\n\t\t/* */\r\n\r\n queryContext.updateQuery({\r\n ...queryContext.query,\r\n MapFilter: {\r\n ...queryContext.query.MapFilter,\r\n PositionType: value.key,\r\n },\r\n });\r\n }\r\n\r\n\tasync function onLocationTextSearchChange(value: string) {\r\n\t\tconst url = `${locationBoxSearchApiUrl}`;\r\n\t\tif (value && value.length > 0) {\r\n\t\t\tconst query = {\r\n\t\t\t\tText: value\r\n\t\t\t};\r\n\t\t\ttry {\r\n\t\t\t\tconst res = await axios.post(url, query);\r\n\t\t\t\treturn res.data.Successful ? res.data.Result || [] : [];\r\n\t\t\t} catch (error) {\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tqueryContext.query.MapFilter = {};\r\n\t\t\tqueryContext.updateQuery({\r\n\t\t\t\t...queryContext.query\r\n\t\t\t});\r\n\t\t\treturn [];\r\n\t\t}\r\n }\r\n\r\n\tfunction onLocationTextSearchOptionSelect(option: any) {\r\n\t\tupdateCurrentQuery((query: any) => {\r\n\t\t\tquery.MapFilter = {\r\n\t\t\t\t...option,\r\n\t\t\t\tPositionType: query.MapFilter?.PositionType,\r\n\t\t\t\tKeywords: createFancyLocationLabel(option)\r\n\t\t\t}\r\n\t\t});\r\n\t\t/* */\r\n\r\n queryContext.updateQuery({\r\n ...queryContext.query,\r\n MapFilter: {\r\n\t\t\t\t...option,\r\n\t\t\t\tPositionType: queryContext.query.MapFilter?.PositionType,\r\n\t\t\t\tKeywords: createFancyLocationLabel(option)\r\n },\r\n });\r\n\t}\r\n\r\n\tfunction locationTextSearchAddItemHandler(searchText: any, setSearchText: any, suggestions: any[] | undefined, onSelect: any) { //Force a selection. Function names are a little misleading here.\r\n\t\tif (queryContext.query.MapFilter?.Keywords != searchText) {\r\n\t\t\tif (suggestions && suggestions.length > 0 && onSelect) {\r\n\t\t\t\tonSelect(suggestions[0]);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tsetSearchText(\"\");\r\n\t\t\t\tqueryContext.query.MapFilter = {};\r\n\t\t\t\tqueryContext.updateQuery({\r\n\t\t\t\t\t...queryContext.query\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction createFancyLocationLabel(option: any) {\r\n\t\treturn option.Label + (option.Label == option.Region || option.Region == option.Country ? \"\" : \", \" + option.Region) + \" (\" + option.Country + \")\" || '';\r\n\t}\r\n\r\n\tfunction clearSearch() {\r\n\t\tvar query = getCurrentQuery();\r\n\t\tsetCurrentQuery({\r\n\t\t\tSearchType: query.SearchType,\r\n\t\t\tPageSize: query.PageSize,\r\n\t\t\tSkipPages: 0\r\n\t\t});\r\n\t\tupdateCurrentQuery();\r\n\t\t/* */\r\n\r\n\t\tvar widgetFilters = queryContext.query.MainFilters.filter(m => m?.Id?.toString().includes(\"widget\"));\r\n\t\tqueryContext.updateQuery({\r\n\t\t\t...queryContext.query,\r\n\t\t\tKeywords: \"\",\r\n\t\t\tMapFilter: { PositionType: \"positionType:In\" },\r\n\t\t\tMainFilters: widgetFilters\r\n\t\t});\r\n\t}\r\n\r\n\t/*\r\n\tfunction clearSearch() {\r\n\t\tvar widgetFilterKeys = Object.keys(queryContext.query.MainFilters).filter(m => m.includes(\"widget\"));\r\n\t\tvar widgetFilters = {} as any;\r\n\t\twidgetFilterKeys.forEach(m => {\r\n\t\t\twidgetFilters[m] = queryContext.query.MainFilters[m];\r\n\t\t});\r\n\t\tqueryContext.updateQuery({\r\n\t\t\t...queryContext.query,\r\n\t\t\tKeywords: \"\",\r\n\t\t\tMapFilter: { PositionType: \"positionType:In\" },\r\n\t\t\tMainFilters: widgetFilters\r\n\t\t});\r\n\t}\r\n\t*/\r\n\r\n\r\n if (isMobile) {\r\n return (\r\n \r\n \r\n Search\r\n
\r\n\t\t\t\t\t\t { return widgetGetPluralLabelForText(option.value); }}\r\n onChange={onBroadTypeOptionSelect}\r\n\t\t\t\t\t\t/>\r\n
\r\n
\r\n \r\n for\r\n \r\n option.Label || ''}\r\n\t\t\t\t\t\t\taddItemHandler={() => { onMainTextSearchChange(queryContext.query.Keywords || ''); }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n\t\t\t\t\t option.value || ''}\r\n\t\t\t\t\t\tonChange={onLocationSearchOptionSelect}\r\n />\r\n createFancyLocationLabel(option)}\r\n />\r\n \r\n
\r\n );\r\n }\r\n return (\r\n \r\n
\r\n Search\r\n\t\t\t\t widgetGetPluralLabelForText(option.value)}\r\n onChange={onBroadTypeOptionSelect}\r\n />\r\n
\r\n
\r\n \r\n for\r\n {/* */}\r\n \r\n option.Label || ''}\r\n\t\t\t\t\taddItemHandler={() => { onMainTextSearchChange(queryContext.query.Keywords || ''); }}\r\n\t\t\t\t\tfieldName={\"MainKeywords\"}\r\n />\r\n
\r\n \r\n\t\t\t\t option.value || ''}\r\n onChange={onLocationSearchOptionSelect}\r\n />\r\n \r\n
\r\n createFancyLocationLabel(option)}\r\n\t\t\t\t\taddItemHandler={locationTextSearchAddItemHandler}\r\n\t\t\t\t\tfieldName={\"MainKeywords\"}\r\n />\r\n
\r\n \r\n Search\r\n\t\t\t\r\n\t\t\tX\r\n
\r\n );\r\n}\r\n\r\n","export default __webpack_public_path__ + \"static/media/background-dot-light-blue-01.60f728b0.svg\";","import React, { useEffect, useRef, useState } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { SConnector } from 'react-svg-connector';\r\nimport { HStack } from '../Stack';\r\n\r\nimport background from '../../assets/images/icons/background-dot-light-blue-01.svg';\r\nimport { useMediaQuery } from '../../hooks';\r\nimport { theme } from '../../shared/theme';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport {\r\n faChevronLeft,\r\n faChevronRight,\r\n} from '@fortawesome/free-solid-svg-icons';\r\n\r\nconst connectorSpan = 70;\r\n\r\nconst MobileCarousel = styled.div``;\r\n\r\nconst CarouselWrapper = styled(HStack)`\r\n cursor: pointer;\r\n background-image: url(${background});\r\n padding: 80px 60px;\r\n -webkit-overflow-scrolling: touch;\r\n ::-webkit-scrollbar {\r\n display: none; // hide scrollbar on safaris\r\n }\r\n -ms-overflow-style: none;\r\n scrollbar-width: none;\r\n overflow-y: hidden;\r\n`;\r\n\r\nconst ConnectorBlock = styled(HStack)`\r\n width: 100%;\r\n position: relative;\r\n svg {\r\n position: absolute;\r\n }\r\n`;\r\n\r\nconst Block = styled.div<{ isActive?: boolean }>`\r\n background-color: ${(props) =>\r\n props.isActive ? props.theme.color.greyLight : props.theme.color.white};\r\n min-width: 400px;\r\n`;\r\n\r\nconst MobileSlider = styled(HStack)`\r\n overflow: auto;\r\n -webkit-overflow-scrolling: touch;\r\n scroll-snap-type: x mandatory;\r\n`;\r\n\r\nconst MobileBlock = styled.div`\r\n min-width: 100%;\r\n scroll-snap-align: center;\r\n`;\r\n\r\nconst ConnectorBox = styled.div`\r\n min-width: ${connectorSpan + 'px'};\r\n`;\r\n\r\nconst NavArrows = styled(HStack)`\r\n padding: 20px;\r\n`;\r\n\r\ninterface Props {\r\n currentBlock?: number;\r\n blocks: React.ReactNode[];\r\n}\r\n\r\nexport default function Carousel(props: Props) {\r\n const wrapperRef = useRef(null);\r\n const sliderRef = useRef(null);\r\n const [divHeight, setDivHeight] = useState(0);\r\n const [clientX, setClientX] = useState(0);\r\n const [isScrolling, setIsScrolling] = useState(false);\r\n\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n function onMouseDown(e: React.MouseEvent) {\r\n setIsScrolling(true);\r\n setClientX(e.clientX);\r\n }\r\n\r\n function onMouseUp(e: React.MouseEvent) {\r\n setIsScrolling(false);\r\n }\r\n\r\n function onMouseMove(e: React.MouseEvent) {\r\n if (isScrolling) {\r\n if (wrapperRef.current) {\r\n const scrollX =\r\n wrapperRef.current.scrollLeft - e.clientX + clientX;\r\n const newClientX = e.clientX;\r\n wrapperRef.current.scrollLeft = scrollX;\r\n setClientX(newClientX);\r\n }\r\n }\r\n }\r\n\r\n const offsetY = divHeight / 10;\r\n\r\n function renderRightConnector() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n function renderLeftConnector() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n function slide(direction: 'next' | 'prev') {\r\n if (sliderRef.current) {\r\n const stepX = sliderRef.current.offsetWidth;\r\n if (direction === 'next') {\r\n sliderRef.current.scrollLeft =\r\n sliderRef.current.scrollLeft + stepX;\r\n } else {\r\n sliderRef.current.scrollLeft =\r\n sliderRef.current.scrollLeft - stepX;\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (wrapperRef.current) {\r\n setDivHeight(wrapperRef.current.offsetHeight);\r\n\r\n const newScrollX =\r\n (wrapperRef.current.scrollWidth / props.blocks.length) *\r\n (props.currentBlock ? props.currentBlock : 0);\r\n wrapperRef.current.scroll({\r\n left: newScrollX - 150,\r\n behavior: 'smooth',\r\n });\r\n }\r\n }, [wrapperRef, props.currentBlock, props.blocks]);\r\n\r\n if (isMobile) {\r\n return (\r\n \r\n \r\n {props.blocks.map((block, index) => (\r\n \r\n {block}\r\n \r\n ))}\r\n \r\n \r\n slide('prev')}\r\n />\r\n slide('next')}\r\n />\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {props.blocks.map((block, index) => (\r\n \r\n \r\n {block}\r\n \r\n {index % 2 !== 0\r\n ? renderLeftConnector()\r\n : index !== props.blocks.length - 1\r\n ? renderRightConnector()\r\n : null}\r\n \r\n ))}\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { useMediaQuery } from '../../hooks';\r\nimport { theme } from '../../shared/theme';\r\nimport { HStack } from '../Stack';\r\n\r\nconst StyledTabBar = styled(HStack)`\r\n align-items: center;\r\n justify-content: center;\r\n flex-wrap: wrap;\r\n`;\r\nconst TabItem = styled.button<{ active?: boolean }>`\r\n padding: 10px 0;\r\n background: transparent;\r\n border: none;\r\n border-bottom: ${(props) => (props.active ? '2px solid black' : undefined)};\r\n cursor: pointer;\r\n`;\r\n\r\ninterface Props {\r\n items: string[];\r\n onTabClick?: (value: string, index: number) => void;\r\n activeIndex?: number;\r\n}\r\nexport default function TabBar(props: Props) {\r\n const [activeIndex, setActiveIndex] = useState(props.activeIndex);\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n function onTabClick(value: any, index: number) {\r\n setActiveIndex(index);\r\n props.onTabClick && props.onTabClick(value, index);\r\n }\r\n\r\n useEffect(() => {\r\n setActiveIndex(props.activeIndex || 0);\r\n }, [props.activeIndex]);\r\n\r\n if (isMobile) {\r\n // TODO: decide mobile tabbar\r\n return null;\r\n }\r\n return (\r\n \r\n {props.items.map((item, index) => (\r\n onTabClick(item, index)}>\r\n {item}\r\n \r\n ))}\r\n \r\n );\r\n}\r\n","export default __webpack_public_path__ + \"static/media/icon-slider-credential-providers-01.798b6d53.svg\";","export default __webpack_public_path__ + \"static/media/icon-slider-quality-assurance-organizations-01.07896063.svg\";","export default __webpack_public_path__ + \"static/media/icon-slider-employers-01.9bf75f92.svg\";","export default __webpack_public_path__ + \"static/media/icon-slider-individual-01.b2f9898c.svg\";","export default __webpack_public_path__ + \"static/media/icon-slider-government-agencies-01.500e38f0.svg\";","export default __webpack_public_path__ + \"static/media/icon-slider-application-developers-01.821d2057.svg\";","export default __webpack_public_path__ + \"static/media/icon-slider-skill-and-competency-creators-01.80607b73.svg\";","import React, { ReactNode, useContext } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { Button } from '../common';\r\nimport { VStack } from '../Stack';\r\n\r\nimport credential_icon from '../../assets/images/icons/icon-slider-credential-providers-01.svg';\r\nimport qa_organizations_icon from '../../assets/images/icons/icon-slider-quality-assurance-organizations-01.svg';\r\nimport employers_icon from '../../assets/images/icons/icon-slider-employers-01.svg';\r\nimport individuals_icon from '../../assets/images/icons/icon-slider-individual-01.svg';\r\nimport government_agencies_icon from '../../assets/images/icons/icon-slider-government-agencies-01.svg';\r\nimport application_developers_icon from '../../assets/images/icons/icon-slider-application-developers-01.svg';\r\nimport skills_competency_creators_icon from '../../assets/images/icons/icon-slider-skill-and-competency-creators-01.svg';\r\nimport { QueryContext } from '../../App';\r\nimport { defaultQuery } from '../../shared/data';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\ninterface CarouseBlockProps {\r\n icon: string;\r\n title: string;\r\n subTitle: string;\r\n content: ReactNode;\r\n button: ReactNode;\r\n}\r\n\r\nconst Wrapper = styled(VStack)<{ isActive?: boolean }>`\r\n padding: 20px;\r\n border: 1px solid ${(props) => props.theme.color.greyLight};\r\n justify-content: space-between;\r\n user-select: none;\r\n height: 100%;\r\n`;\r\n\r\nconst CarouselBody = styled.div``;\r\nconst Icon = styled.img`\r\n height: 40px;\r\n align-self: flex-start;\r\n`;\r\nconst Title = styled.h2``;\r\nconst SubTitle = styled.label``;\r\nconst Content = styled.div``;\r\nconst CarouselButton = styled.div``;\r\n\r\nexport default function CarouseBlock(props: CarouseBlockProps) {\r\n const queryContext = useContext(QueryContext);\r\n const history = useHistory();\r\n\r\n function onExploreButtonClick(_e: any) {\r\n queryContext.updateQuery({ ...defaultQuery, SearchType: 'credential' });\r\n history.push('/search');\r\n }\r\n return (\r\n \r\n \r\n \r\n {props.title}\r\n {props.subTitle}\r\n {props.content}\r\n \r\n \r\n {props.button}\r\n \r\n \r\n );\r\n}\r\n\r\nexport function CredentialProvidersBlock() {\r\n return (\r\n \r\n

\r\n Our information can help you build better connections\r\n for the credentials you provide. We encourage you to\r\n explore how comparable credentials from other providers\r\n lead to different career opportunities, what\r\n competencies and skills are built into different\r\n credentials, and which are in demand.\r\n

\r\n

\r\n Use our data to help inform the credential opportunities\r\n you offer, and understand how your credentials compare\r\n locally and nationally.\r\n

\r\n \r\n }\r\n button={}\r\n />\r\n );\r\n}\r\n\r\nexport function QualityAssuranceOrgnizationsBlock() {\r\n return (\r\n \r\n

\r\n Browse through thousands of verified credential, skill,\r\n and competency data to inform quality assurance across\r\n credentials in your region.\r\n

\r\n

\r\n Learn how credentials and competencies align to quality\r\n frameworks.\r\n

\r\n \r\n }\r\n button={}\r\n />\r\n );\r\n}\r\nexport function IndividualsBlock() {\r\n return (\r\n \r\n

\r\n Whether you’re just starting out, advancing your career,\r\n or just looking for new skills, Credential Finder helps\r\n you find the path. We know it can be confusing to\r\n navigate through thousands of degrees, certificates, and\r\n other credential options. Having the right information\r\n is key.\r\n

\r\n

\r\n Use our reliable and up-to-date credential information\r\n to confidently map your own path forward.\r\n

\r\n \r\n }\r\n button={}\r\n />\r\n );\r\n}\r\nexport function GovernmentAgenciesBlock() {\r\n return (\r\n \r\n

\r\n Our credential information can help you understand the\r\n opportunities available for your constituents so that\r\n you may make better decisions about supports, resources,\r\n and services to meet your needs and keep up with a\r\n rapidly changing economy.\r\n

\r\n

\r\n Use our data in ways that are specific to your context\r\n to help with strategic planning and meet your goals.\r\n

\r\n \r\n }\r\n button={}\r\n />\r\n );\r\n}\r\nexport function ApplicationDevelopersBlock() {\r\n return (\r\n \r\n

\r\n Credential Finder is just a demonstration of what you\r\n can do with transparent credential information. Take\r\n advantage of a complete suite of APIs and methods to\r\n build your own applications based on data in the\r\n Credential Registry.\r\n

\r\n

\r\n Use our trusted and relevant data to build your own\r\n custom solutions that help meet your specific needs.\r\n

\r\n \r\n }\r\n button={}\r\n />\r\n );\r\n}\r\nexport function SkillAndCompetencyCreatorsBlock() {\r\n return (\r\n \r\n

\r\n You want to create opportunities for people to acquire\r\n in-demand skills when they need them. Learn what skills\r\n and competencies are available, what they mean, and what\r\n may be missing across local and state regions.\r\n

\r\n

\r\n Our data facilitates understanding of how others are\r\n describing different competencies and skills so that you\r\n can use that information to create new opportunities or\r\n refine existing skills and credentials.\r\n

\r\n \r\n }\r\n button={}\r\n />\r\n );\r\n}\r\nexport function EmployersBlock() {\r\n return (\r\n \r\n

\r\n Use our reliable information to know which credentials\r\n represent the knowledge and skills you want in your\r\n employees, and which credential and skills providers\r\n offer them.\r\n

\r\n

\r\n Compare options and make informed choices that can\r\n expand your talent pool.\r\n

\r\n \r\n }\r\n button={}\r\n />\r\n );\r\n}\r\n","export default __webpack_public_path__ + \"static/media/icon-credentials-blue-white-01.1dd03f77.svg\";","import credentialsIcon from '../../assets/images/icons/icon-credentials-blue-white-01.svg';\r\nimport learningOpportunitiesIcon from '../../assets/images/icons/icon-learning-opportunities-blue-white-01.svg';\r\nimport assessmentsIcon from '../../assets/images/icons/icon-assessments-blue-white-01.svg';\r\nimport qualityAssuranceIcon from '../../assets/images/icons/icon-quality-assurance-blue-white-01.svg';\r\nimport skillsAndCompetenciesIcon from '../../assets/images/icons/icon-competencies-blue-white-01.svg';\r\nimport pathwaysIcon from '../../assets/images/icons/icon-pathways-blue-white-01.svg';\r\nimport transferValueIcon from '../../assets/images/icons/icon-transfer-value-blue-white-01.svg';\r\n\r\nexport const informationItems = [\r\n {\r\n icon: credentialsIcon,\r\n title: 'Credential',\r\n description:\r\n 'Degrees, certificates, badges, and more that show what an individual knows and can do.',\r\n },\r\n {\r\n icon: learningOpportunitiesIcon,\r\n title: 'Learning Opportunities',\r\n description:\r\n 'Formal opportunities that allow individuals to earn credentials or specific competencies and skills to advance their knowledge and job prospects.',\r\n },\r\n {\r\n icon: assessmentsIcon,\r\n title: 'Assessments',\r\n description:\r\n 'Activities that evaluate what an individual knows and can do as a result of a specific learning opportunity or a collection of them en route to earning a credential.',\r\n },\r\n {\r\n icon: qualityAssuranceIcon,\r\n title: 'Quality Assurance',\r\n description:\r\n 'Processes that help ensure credentials, learning opportunities, and individual skills and competencies are trusted, valuable, reliable.',\r\n },\r\n {\r\n icon: skillsAndCompetenciesIcon,\r\n title: 'Skills and Competencies',\r\n description:\r\n 'Abilities that individuals can acquire and have the capacity to apply in the workplace and real-world situations.',\r\n },\r\n {\r\n icon: pathwaysIcon,\r\n title: 'Pathways',\r\n description:\r\n 'Direct connections between education opportunities, skills/competencies, and the workforce that help people find clear avenues to meet their needs.',\r\n },\r\n {\r\n icon: transferValueIcon,\r\n title: 'Transfer Value',\r\n description:\r\n 'How well an individual credential, learning opportunity, or competency will relate to and apply in other skill development and/or career advancement opportunities.',\r\n },\r\n];\r\n","export default __webpack_public_path__ + \"static/media/icon-learning-opportunities-blue-white-01.74c72fc1.svg\";","export default __webpack_public_path__ + \"static/media/icon-assessments-blue-white-01.54284224.svg\";","export default __webpack_public_path__ + \"static/media/icon-quality-assurance-blue-white-01.75af2024.svg\";","export default __webpack_public_path__ + \"static/media/icon-competencies-blue-white-01.8bf91663.svg\";","export default __webpack_public_path__ + \"static/media/icon-pathways-blue-white-01.c1ed6613.svg\";","export default __webpack_public_path__ + \"static/media/icon-transfer-value-blue-white-01.5bed22c0.svg\";","export default __webpack_public_path__ + \"static/media/background.22a7c522.svg\";","export default __webpack_public_path__ + \"static/media/curved-line-background.7bc4ad76.svg\";","import styled from 'styled-components/macro';\r\nimport { HStack, VStack } from '../../components/Stack';\r\nimport { useMediaQuery } from '../../hooks';\r\nimport { theme } from '../../shared/theme';\r\nimport { informationItems } from './data';\r\nimport background from '../../assets/images/icons/background.svg';\r\nimport curveLineBackground from '../../assets/images/icons/curved-line-background.svg';\r\n\r\nconst StyledInformationPanel = styled(HStack)`\r\n padding: 100px;\r\n background-image: url(${background}), url(${curveLineBackground});\r\n background-repeat: repeat, no-repeat;\r\n background-position: center;\r\n background-color: ${(props) => props.theme.color.aquaDark};\r\n @media (max-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n padding: 20px;\r\n }\r\n`;\r\nconst LeftPanel = styled(VStack)`\r\n @media (max-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n flex: 0 0 100%;\r\n }\r\n`;\r\nconst RightPanel = styled(VStack)``;\r\nconst Icon = styled.img`\r\n width: 60px;\r\n align-self: flex-start;\r\n`;\r\nconst LeftTitle = styled.h2`\r\n margin-top: 0;\r\n`;\r\nconst LeftDescription = styled.p`\r\n font-size: ${(props) => props.theme.fontSize.lg};\r\n`;\r\nconst Title = styled.p`\r\n margin: 0;\r\n font-size: ${(props) => props.theme.fontSize.lg};\r\n font-weight: bold;\r\n`;\r\nconst Description = styled.p`\r\n margin-top: 0;\r\n`;\r\n\r\nexport default function InformationPanel() {\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n return (\r\n \r\n \r\n Reveal Reliable Information\r\n \r\n The Registry contains trusted and reliable information that\r\n helps learners and those seeking opportunities to explore\r\n available pathways. This information fuels the creation of\r\n services and tools that allow students, employers, and\r\n workers to compare credentials and see the full range of\r\n opportunities available for learning, advancement, and\r\n meaningful careers.\r\n \r\n \r\n \r\n {informationItems.map((item, index) => {\r\n return (\r\n \r\n \r\n \r\n {item.title}\r\n {item.description}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n}\r\n","import styled from 'styled-components/macro';\r\nimport { ContentDelimiter } from '../../components/common';\r\nimport { HStack, VStack } from '../../components/Stack';\r\n\r\nexport const Wrapper = styled(ContentDelimiter)`\r\n padding-top: 80px;\r\n @media (max-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n padding-top: 40px;\r\n }\r\n`;\r\n\r\nexport const PageSection = styled.div`\r\n padding-top: 40px;\r\n`;\r\n\r\nexport const PageTitle = styled.p`\r\n font-size: 40px;\r\n font-weight: bold;\r\n margin: 0;\r\n line-height: 1;\r\n`;\r\n\r\nexport const PageDescription = styled.p``;\r\n\r\nexport const Title = styled.p`\r\n text-align: center;\r\n font-weight: bold;\r\n margin: 0;\r\n`;\r\n\r\nexport const StatData = styled(HStack)`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n justify-content: center;\r\n padding: 40px 0;\r\n > * {\r\n margin-bottom: 20px;\r\n }\r\n`;\r\nexport const StatItem = styled.button`\r\n\tflex: 1 1 25%;\r\n\tbackground: transparent;\r\n border: none;\r\n text-align: center;\r\n\tpadding: 10px;\r\n\tmin-width: 300px;\r\n\r\n\t/* Fix broken margin rules that are coming from somewhere I can't find and which probably wouldn't be safe to change anyway */\r\n\t&:first-child {\r\n\t\tmargin: 0;\r\n\t}\r\n\t&:last-child {\r\n\t\tmargin: 0;\r\n\t}\r\n\t&:not(:first-child) {\r\n\t\tmargin: 0;\r\n\t}\r\n\t&:not(:last-child) {\r\n\t\tmargin: 0;\r\n\t}\r\n`;\r\n//prototype: set font smaller so fits on one line on a desktop\r\nexport const StatItemValue = styled.h1`\r\n font-size: 64px;\r\n color: ${(props) => props.theme.color.brown};\r\n margin: 0;\r\n`;\r\nexport const StatItemTitle = styled.p`\r\n margin: 0;\r\n font-size: 24px;\r\n text-align: center;\r\n line-height: 1.125;\r\n`;\r\n\r\nexport const ConnectorBox = styled.div<{ height?: string }>`\r\n min-width: 150px;\r\n max-width: 150px;\r\n height: ${(props) => props.height || '150px'};\r\n @media (max-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n display: none;\r\n }\r\n`;\r\n","import styled from 'styled-components/macro';\r\nimport { ContentDelimiter } from '../../components/common';\r\nimport background from '../../assets/images/icons/background-dot-light-blue-01.svg';\r\n\r\nexport const Wrapper = styled(ContentDelimiter)`\r\n display: grid;\r\n grid-template-columns: 1fr 1fr;\r\n gap: 80px;\r\n padding-top: 40px;\r\n padding-bottom: 60px;\r\n background-image: url(${background});\r\n @media (max-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n grid-template-columns: 1fr;\r\n gap: 0;\r\n padding: 0;\r\n }\r\n\r\n\t&:not(:last-child) {\r\n\t\tpadding-bottom: 0;\r\n\t}\r\n`;\r\n\r\nexport const FullWidthWrapper = styled(ContentDelimiter)`\r\n\tbackground-image: url(${ background });\r\n\tpadding: 10px 20px 60px 20px;\r\n`;\r\n\r\nexport const InnerWrapper = styled(Wrapper)`\r\n\tpadding: 0;\r\n`;\r\n\r\nexport const MobileAboutDetail = styled.div`\r\n background-color: ${(p) => p.theme.color.aquaLight};\r\n padding: 0 10px;\r\n`;\r\n\r\nexport const Description = styled.div`\r\n margin-bottom: 30px;\r\n\tword-break: break-word;\r\n\twhite-space: pre-wrap;\r\n`;\r\n\r\nexport const Label = styled.label`\r\n\tfont-size: 18px;\r\n margin-bottom: 10px;\r\n`;\r\n\r\nexport const InlineLabel = styled.label`\r\n margin-right: 10px;\r\n`;\r\n\r\nexport const Inline = styled.div`\r\n display: flex;\r\n align-items: center;\r\n flex-wrap: wrap;\r\n`;\r\n\r\nexport const MapWrapper = styled.div`\r\n width: auto;\r\n height: 500px;\r\n margin-bottom: 10px;\r\n`;\r\n\r\nexport const SectionLabel = styled.div`\r\n\tfont-size: 18px;\r\n\tborder-top: 1px solid #CCC;\r\n\tpadding: 5px 0;\r\n`;\r\n\r\nexport const Section = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n margin-bottom: 10px;\r\n\r\n &:last-of-type {\r\n margin-bottom: 0;\r\n }\r\n`;\r\n\r\nexport const InlineLabelledItem = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: baseline;\r\n\tmargin-bottom: 10px;\r\n\r\n\t& > * {\r\n\t\tmargin: 0 5px;\r\n\t}\r\n\r\n\t&:last-of-type {\r\n margin: 0;\r\n }\r\n`;\r\n\r\nexport const Id = styled.span`\r\n margin-right: 5px;\r\n\r\n &:last-of-type {\r\n margin-right: 0;\r\n }\r\n`;\r\n\r\nexport const SocialLink = styled.a`\r\n cursor: pointer;\r\n margin-right: 15px;\r\n\r\n &:last-of-type {\r\n margin-right: 0;\r\n }\r\n`;\r\n\r\nexport const ModalLinksWrapper = styled.div`\r\n\tdisplay: flex;\r\n flex-wrap: wrap;\r\n\tpadding: 5px 0;\r\n`;\r\n\r\nexport const ModalLink = styled.span`\r\n margin: 1px 5px;\r\n display: inline-block;\r\n\r\n &:first-of-type {\r\n margin-left: 0;\r\n }\r\n &:last-of-type {\r\n margin-right: 0;\r\n }\r\n`;\r\n\r\nexport const UnorderedList = styled.ul`\r\n\tmargin: 0;\r\n`;\r\n\r\nexport const ListWithoutBullet = styled.li`\r\n list-style: none;\r\n`;\r\n","import React from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { Label, Section } from './styles';\r\nimport { Link } from '../../types/external';\r\nimport { ButtonLink } from '../common';\r\nimport { appURL } from '../../shared/globals';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';\r\n\r\nexport default function LinkObject(props: { item: Partial, overrideLabel?: string, hideExternalLinkIcon?: boolean, buttonType?: 'primary' | 'secondary' | 'tertiary' | 'filled' | undefined, isExternal?: boolean, linkTarget?: string }) {\r\n\tvar isExternal = props.isExternal || isExternalURL(props.item?.URL);\r\n\tvar label = props.item.Label || \"Link\";\r\n\tvar linkButtonType = props.buttonType || \"primary\";\r\n return (\r\n <>\r\n\t\t\t{props.item.URL &&\r\n\t\t\t\t\r\n\t\t\t\t\t{label}{isExternal && }\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\t{!props.item.URL &&\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\t{props.item.Description &&\r\n\t\t\t\t
\r\n\t\t\t\t\t
{props.item.Description}
\r\n\t\t\t\t
\r\n\t\t\t}\r\n \r\n );\r\n}\r\n\r\nexport function PlainTextLink(props: { item: Partial, overrideLabel?: string, hideExternalLinkIcon?: boolean }) {\r\n\tvar isExternal = isExternalURL(props.item?.URL);\r\n\r\n\treturn ( props.item?.URL &&\r\n\t\t
{props.overrideLabel || props.item.Label || \"Link\"}{isExternal && }\r\n\t) || null\r\n}\r\n\r\nexport function PlainTextLinkList(props: { label: string, items: Array, WrapperTag?: (children: JSX.ElementChildrenAttribute) => JSX.Element, HeaderTag?: (children: JSX.ElementChildrenAttribute) => JSX.Element, asList?: boolean }) {\r\n\tvar Wrapper = props.WrapperTag || PlainTextLinkListWrapper;\r\n\tvar Header = props.HeaderTag || PlainTextLinkListHeader;\r\n\treturn props.items?.length > 0 && (\r\n\t\t\r\n\t\t\t<>\r\n\t\t\t\t
{props.label}
\r\n\t\t\t\t{props.asList == true ? (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{props.items.map(item => (\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t) : (\r\n\t\t\t\t\tprops.items.map(item => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t
\r\n\t) || null;\r\n}\r\n\r\nexport function PlainTextLinkListFromURLs(props: { label: string, urls: Array, WrapperTag?: (children: JSX.ElementChildrenAttribute) => JSX.Element, HeaderTag?: (children: JSX.ElementChildrenAttribute) => JSX.Element, asList?: boolean }) {\r\n\treturn { return { URL: url, Label: url } as Link })} WrapperTag={props.WrapperTag} HeaderTag={props.HeaderTag} asList={props.asList} />\r\n}\r\n\r\nexport function isExternalURL(url: string | undefined) : boolean {\r\n\tif (!url) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tvar lowerURL = url.toLowerCase();\r\n\treturn lowerURL.indexOf(\"http\") == 0 && lowerURL.indexOf(appURL.toLowerCase()) != 0;\r\n}\r\n\r\nconst SmallIcon = styled(FontAwesomeIcon)`\r\n\tfont-size: 85%;\r\n\topacity: 0.85;\r\n\tmargin-left: 0.4em;\r\n`;\r\n\r\nconst PlainTextLinkListWrapper = styled.div`\r\n\r\n`;\r\n\r\nconst PlainTextLinkListHeader = styled.div`\r\n\tfont-weight: bold;\r\n`;","import React, { useEffect, useState } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { RouteComponentProps, useHistory } from 'react-router-dom';\r\nimport SearchBar from '../../components/SearchBar';\r\nimport Carousel from '../../components/Carousel';\r\nimport TabBar from '../../components/TabBar';\r\nimport {\r\n ApplicationDevelopersBlock,\r\n CredentialProvidersBlock,\r\n EmployersBlock,\r\n GovernmentAgenciesBlock,\r\n IndividualsBlock,\r\n QualityAssuranceOrgnizationsBlock,\r\n SkillAndCompetencyCreatorsBlock,\r\n} from '../../components/CarouselBlock';\r\nimport InformationPanel from './InformationPanel';\r\nimport { HStack, VStack } from '../../components/Stack';\r\n\r\nimport { SConnector } from 'react-svg-connector';\r\nimport { theme } from '../../shared/theme';\r\nimport {\r\n Wrapper,\r\n PageDescription,\r\n PageSection,\r\n PageTitle,\r\n StatData,\r\n StatItem,\r\n StatItemTitle,\r\n StatItemValue,\r\n ConnectorBox,\r\n Title,\r\n} from './styles';\r\nimport axios from 'axios';\r\nimport { apiUrl } from '../../shared/globals';\r\nimport { Link } from '../../types/external';\r\nimport { statDataLabel } from '../../shared/data';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\n\r\nconst items = [\r\n 'Individuals',\r\n 'Credential Providers',\r\n 'Government Agencies',\r\n 'Application Developers',\r\n 'Skill and Competency Creators',\r\n 'Employers',\r\n 'Quality Assurance Organizations',\r\n];\r\n\r\nconst blocks = [\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n];\r\n\r\nfunction HomePage(props: RouteComponentProps) {\r\n const [currentBlock, setCurrentBlock] = useState(0);\r\n const [statData, setStatData] = useState([]);\r\n const history = useHistory();\r\n\r\n function onTabClick(value: string, index: number) {\r\n setCurrentBlock(index);\r\n }\r\n\r\n function onSearchButtonClick() {\r\n history.push('/search');\r\n }\r\n\r\n useEffect(() => {\r\n // call API\r\n axios.get(apiUrl + '/FinderHome').then((res) => {\r\n const data = res.data;\r\n if (data.Successful) {\r\n const statData = data.Result?.map((item: Link) => {\r\n return {\r\n ...item,\r\n Label: statDataLabel[item.Label] || item.Label,\r\n };\r\n });\r\n setStatData(statData || []);\r\n }\r\n });\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Discover Credentials. Explore Opportunities\r\n \r\n \r\n\t\t\t\t\t\tDiscover and compare credential opportunities, build widgets, and access our linked open data network for timely and trusted information about credentials including competencies and education and career pathways. Here you can explore the Credential Registry to understand how data that you and others contribute can be used to fuel the creation of services and tools that allow students, employers, and workers to compare credentials and choose the best option.\r\n\t\t\t\t\t\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 What's in the Registry?\r\n \r\n \r\n {statData.map((item, index) => (\r\n history.push(item.URL)}>\r\n {item.Total}\r\n {item.Label}\r\n \r\n ))}\r\n \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tOverview and Navigation Tips\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tIf you are new to the Credential Finder or want to get more familiar with the updated interface, we recommend exploring our overview page to learn how tools like the finder help make credential data more accessible and actionable. It includes helpful navigation tips, videos on changes we have implemented, and an invitation to share your feedback so we may improve tools like the Credential Finder or collaborate to develop custom tools that meet the needs of your stakeholders. You can also learn more about Credential Engine and how tools like the Finder help illuminate paths to a better future.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n \r\n\t\t\t\t\r\n Who is Credential Finder for?\r\n \r\n \r\n \r\n \r\n\t\t\t\r\n \r\n );\r\n}\r\n\r\nexport default HomePage;\r\n\r\nconst LinkButtonSection = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\tjustify-content: center;\r\n\tpadding: 10px 0;\r\n\r\n\t& > * {\r\n\t\tmargin: 5px 10px;\r\n\t\tmin-width: 300px;\r\n\t}\r\n`","import styled from 'styled-components';\r\nimport { ContentDelimiter } from '../common';\r\n\r\nexport const Wrapper = styled(ContentDelimiter)`\r\n display: flex;\r\n justify-content: center;\r\n padding: 20px 0;\r\n`;\r\n","import React from 'react';\r\nimport { Wrapper } from './styles';\r\n\r\nexport default function Error() {\r\n return An error occured.;\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport axios from 'axios';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport InnerHTML from 'dangerously-set-html-content';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport styled from 'styled-components/macro';\r\nimport Error from '../../components/Error';\r\nimport { legacySourceUrl } from '../../shared/globals';\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function ReportsPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [loading, setLoading] = useState(false);\r\n const [pageContent, setPageContent] = useState(' ');\r\n const [error, setError] = useState(false);\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n const url = `${legacySourceUrl}/reports/CredentialRegistryData?context=newFinder&coreonly=true`;\r\n axios\r\n .get(url)\r\n .then((res) => {\r\n setPageContent(res.data);\r\n setLoading(false);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n setError(true);\r\n setLoading(false);\r\n });\r\n }, []);\r\n if (loading) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n if (error) {\r\n return ;\r\n }\r\n\treturn <>\r\n\t\t\r\n\t\t\r\n\t\t;\r\n}\r\n\r\nconst LoadingIndicatorWrapper = styled.div`\r\n text-align: center;\r\n padding: 50px;\r\n`;\r\n","import styled, { css } from 'styled-components/macro';\r\nimport { CleanList, FlexRow } from '../common';\r\nimport { widgetGetColor } from '../../utils/SiteWidgetizer';\r\n\r\nexport const HeaderMain = styled.header`\r\n border-bottom: 1px solid ${(p) => widgetGetColor(\"SiteHeader\", false, p.theme.color.aquaDark)};\r\n padding: 0 20px;\r\n\r\n > ${FlexRow} {\r\n align-items: stretch;\r\n margin: 0 auto;\r\n max-width: 1400px;\r\n }\r\n`;\r\n\r\nexport const CompareButtonWrapper = styled.div`\r\n\tposition: relative;\r\n`;\r\n\r\nexport const CompareButton = styled.button<{\r\n isActive?: boolean;\r\n disabled?: boolean;\r\n}>`\r\n border: none;\r\n background: transparent;\r\n display: inline-flex;\r\n align-items: center;\r\n text-align: center;\r\n height: 100%;\r\n @media (min-width: ${(props) => props.theme.breakpoint.desktop}) {\r\n margin-left: 30px;\r\n }\r\n > * {\r\n background-color: ${(props) =>\r\n props.disabled\r\n ? props.theme.color.greyLight\r\n\t\t\t\t: widgetGetColor(\"SearchResultButton\", false, props.theme.color.aquaDark)};\r\n\t\tcolor: ${(props) =>\r\n\t\tprops.disabled\r\n\t\t\t? \"black\"\r\n\t\t\t: widgetGetColor(\"SearchResultButton\", true, \"black\")};\r\n }\r\n ${(props) =>\r\n props.isActive &&\r\n css`\r\n background: linear-gradient(\r\n 180deg,\r\n ${(props) => props.theme.color.brown} 4px,\r\n transparent 4px\r\n );\r\n `}\r\n`;\r\n\r\nexport const CompareCount = styled.p`\r\n padding: 0.5em 0.8em;\r\n margin: 0;\r\n`;\r\n\r\nexport const CompareIcon = styled.div`\r\n padding: 0.5em 0.8em;\r\n margin-left: 1px;\r\n`;\r\n\r\nexport const HeaderLeft = styled.div`\r\n\tflex: 1 1 30%;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n padding: 5px 0;\r\n\tmin-height: 70px;\r\n\r\n\t@media (max-width: 700px) {\r\n\t\tdisplay: block;\r\n\t}\r\n`;\r\n\r\nexport const HeaderRight = styled.div`\r\n\tflex: 1 1 70%;\r\n align-items: center;\r\n display: flex;\r\n justify-content: flex-end;\r\n`;\r\n\r\nexport const Logo = styled.div`\r\n\twhite-space: nowrap;\r\n\r\n > a {\r\n color: ${(props) => props.theme.color.blueDark};\r\n display: inline-block;\r\n font-size: ${(props) => props.theme.fontSize.md};\r\n font-weight: bold;\r\n text-decoration: none;\r\n }\r\n\r\n\t& img {\r\n\t\tmax-height: 50px;\r\n\t\tmax-width: 125px;\r\n\t}\r\n`;\r\n\r\nexport const Tagline = styled.div`\r\n\tmargin: 0 10px;\r\n\tfont-size: 12px;\r\n\tfont-style: italic;\r\n\r\n\twidth: 300px;\r\n\r\n\t@media (max-width: 1300px) {\r\n\t\twidth: 200px;\r\n\t}\r\n\t@media (max-width: 700px) {\r\n\t\tfont-size: 8px;\r\n\t}\r\n`;\r\n\r\nexport const MainMenu = styled(CleanList)`\r\n ul {\r\n padding: 0;\r\n z-index: 10;\r\n li {\r\n list-style: none outside none;\r\n }\r\n }\r\n\r\n // Style for mobile\r\n @media (max-width: calc(${(props) =>\r\n props.theme.breakpoint.desktop} - 1px)) {\r\n background-color: ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.blueDark)};\r\n display: none;\r\n padding: 2rem 1rem;\r\n position: fixed;\r\n height: 100vh;\r\n left: 0;\r\n top: 0;\r\n width: 100vw;\r\n z-index: 2;\r\n\r\n // Menu open\r\n .main-menu-open & {\r\n display: block;\r\n }\r\n\r\n > li {\r\n color: #fff;\r\n padding: 0.5rem;\r\n cursor: pointer;\r\n &:not(:last-child) {\r\n border-bottom: 1px solid\r\n ${(props) => props.theme.color.aquaDark};\r\n }\r\n\r\n > a {\r\n font-size: ${(props) => props.theme.fontSize.md};\r\n font-weight: bold;\r\n }\r\n\r\n ul {\r\n margin: 1rem 0;\r\n padding-left: 1rem;\r\n }\r\n\r\n li:not(:last-child) {\r\n margin-bottom: 0.8rem;\r\n }\r\n }\r\n\r\n a {\r\n color: #fff;\r\n text-decoration: none;\r\n\r\n &:hover,\r\n .active {\r\n color: ${(props) => props.theme.color.aquaDark};\r\n }\r\n }\r\n }\r\n\r\n // Style for desktop\r\n @media (min-width: ${(props) => props.theme.breakpoint.desktop}) {\r\n display: flex;\r\n height: 100%;\r\n\r\n ul {\r\n background-color: ${(props) => props.theme.color.white};\r\n border: 1px solid ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.aquaDark)};\r\n display: none;\r\n left: 0;\r\n position: absolute;\r\n top: 100%;\r\n width: 240px;\r\n\r\n li {\r\n justify-content: flex-start;\r\n padding: 10px;\r\n\r\n &:hover {\r\n background-color: ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.aquaLight)};\r\n color: ${(props) => widgetGetColor(\"SearchResultButton\", true, props.theme.color.blueDark)};\r\n\r\n\t\t\t\t\ta {\r\n\t\t\t\t\t\tcolor: ${(props) => widgetGetColor(\"SearchResultButton\", true, \"black\")};\r\n\t\t\t\t\t}\r\n }\r\n\r\n a {\r\n justify-content: flex-start;\r\n padding: 0;\r\n }\r\n }\r\n }\r\n\r\n li {\r\n position: relative;\r\n\r\n &:hover ul {\r\n display: block;\r\n }\r\n }\r\n\r\n a {\r\n align-items: center;\r\n color: ${(props) => props.theme.color.blueDark};\r\n display: flex;\r\n height: 100%;\r\n justify-content: center;\r\n padding: 0 1em;\r\n text-decoration: none;\r\n\r\n &:hover {\r\n color: ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.aquaDark)};\r\n }\r\n\r\n &.active {\r\n background: linear-gradient(\r\n 180deg,\r\n ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.brown)} 4px,\r\n transparent 4px\r\n );\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const SearchLink = styled.li`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tfont-size: 0.875rem;\r\n cursor: pointer;\r\n\r\n\t&:not(:last-child) {\r\n\t\tborder-bottom: 1px solid ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.aquaDark)};\r\n\t}\r\n\r\n\t& img {\r\n\t\tmax-height: 25px;\r\n\t\tmax-width: 25px;\r\n\t\tmargin-right: 10px;\r\n\t}\r\n`;\r\n","//Get something out of localStorage\r\nexport function getFromLocalStorage(propertyName) {\r\n\treturn window.localStorage[propertyName] ? JSON.parse(window.localStorage[propertyName]) : null;\r\n}\r\n//\r\n\r\n//Put something into localStorage\r\nexport function saveToLocalStorage(propertyName, value) {\r\n\twindow.localStorage[propertyName] = JSON.stringify(value);\r\n}\r\n//\r\n\r\n//Remove something from localStorage\r\nexport function deleteFromLocalStorage(propertyName) {\r\n\tdelete window.localStorage[propertyName];\r\n}\r\n//\r\n\r\n//Compare helper functions\r\nexport function addCompareItem(item) {\r\n\tconsole.log(\"Added Compare Item\", item);\r\n\tvar compareGraph = getCompareItems();\r\n\tif (compareGraph.find(m => m.CTID == item.CTID) == null) {\r\n\t\tcompareGraph.push(item);\r\n\t\tsaveCompareItems(compareGraph);\r\n\t}\r\n}\r\n//\r\n\r\nexport function removeCompareItem(item) {\r\n\tvar compareGraph = getCompareItems();\r\n\tif (compareGraph.find(m => m.CTID == item.CTID) != null) {\r\n\t\tcompareGraph = compareGraph.filter(m => m.CTID != item.CTID);\r\n\t\tsaveCompareItems(compareGraph);\r\n\t}\r\n}\r\n//\r\n\r\nexport function getCompareItems() {\r\n\t//Keep it loaded to improve performance\r\n\twindow.SiteCompareData = window.SiteCompareData || getFromLocalStorage(\"SiteCompareData\") || [];\r\n\treturn window.SiteCompareData;\r\n}\r\n//\r\n\r\nexport function saveCompareItems(compareGraph) {\r\n\tsaveToLocalStorage(\"SiteCompareData\", compareGraph);\r\n\twindow.SiteCompareData = compareGraph;\r\n\twindow.dispatchEvent(new Event(\"SiteCompareDataUpdated\"));\r\n}\r\n//\r\n\r\nexport function getCompareItemsByType(type) {\r\n\ttype = (type || \"\").toLowerCase();\r\n\treturn getCompareItems().filter(m => m.BroadType?.toLowerCase() == type || m.CTDLType?.toLowerCase() == type);\r\n}\r\n//\r\n\r\nexport function getCompareItemByCTID(ctid) {\r\n\treturn getCompareItems().find(m => m.CTID == ctid);\r\n}\r\n//\r\n\r\nexport function addOrUpdateCompareItem(item) {\r\n\tvar items = getCompareItems();\r\n\tvar match = items.find(m => m.CTID == item.CTID);\r\n\tmatch ? items.splice(items.indexOf(match), 1, item) : items.push(item);\r\n\tsaveCompareItems(items);\r\n}\r\n//\r\n\r\nexport function updateStateOnCompareChange(updateStateMethod) {\r\n\twindow.addEventListener(\"SiteCompareDataUpdated\", updateStateMethod);\r\n}\r\n//\r\n\r\nwindow.saveCompareItems = saveCompareItems;","import React, { useContext, useEffect, useMemo, useState } from 'react';\r\nimport {\r\n HeaderMain,\r\n HeaderLeft,\r\n HeaderRight,\r\n Logo,\r\n MainMenu,\r\n CompareButton,\r\n CompareIcon,\r\n CompareCount,\r\n\tSearchLink,\r\n\tCompareButtonWrapper,\r\n\tTagline\r\n} from './styles';\r\nimport { mainSearchTypeOptions } from '../../shared/data';\r\nimport { configName } from '../../shared/globals';\r\n\r\nimport { FlexRow } from '../common';\r\nimport { NavLink } from 'react-router-dom';\r\nimport HamburguerMenu from '../HamburgerMenu';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faAngleLeft, faBars, faSearch, faTimes } from '@fortawesome/free-solid-svg-icons';\r\nimport { QueryContext } from '../../App';\r\nimport { useLocation, useHistory } from 'react-router-dom';\r\nimport { MainSearchOption } from '../../types/internal'; import styled from 'styled-components/macro';\r\n// import logo from '../../assets/images/common/logo_credential-finder.png';\r\nimport { widgetGetColor, widgetGetPluralLabelForText } from '../../utils/SiteWidgetizer';\r\nimport { getCompareItems, updateStateOnCompareChange } from '../../utils/LocalStorage';\r\n\r\ninterface Props {\r\n onCompareButtonClick: () => void;\r\n\tshowCompareButton: boolean;\r\n\tcomparePanel?: JSX.Element;\r\n}\r\n\r\nexport default function Header(props: Props) {\r\n const queryContext = useContext(QueryContext);\r\n const location = useLocation();\r\n const history = useHistory();\r\n\tconst [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);\r\n\tconst [compareItems, setCompareItems] = useState(getCompareItems());\r\n\r\n const showCompareButton =\r\n props.showCompareButton &&\r\n ( location.pathname !== '/');\r\n\r\n const hamburgerClick = () => {\r\n setIsMobileMenuOpen(!isMobileMenuOpen);\r\n };\r\n\r\n function onCompareButtonClick() {\r\n props.onCompareButtonClick();\r\n }\r\n\r\n useEffect(() => {\r\n setIsMobileMenuOpen(false);\r\n }, [location]);\r\n\r\n\tuseEffect(() => {\r\n\t\tupdateStateOnCompareChange(() => { setCompareItems([ ...getCompareItems() ]); });\r\n\t\tsetCompareItems(getCompareItems());\r\n\t}, []);\r\n\r\n\tfunction findType(type: string): MainSearchOption {\r\n\t\treturn mainSearchTypeOptions.filter(m => m.key == type)[0] ?? mainSearchTypeOptions[0];\r\n\t}\r\n\r\n\tfunction widgetHideFilter(name: string): boolean {\r\n\t\treturn (window as any).Widget?.Config?.HideGlobalFilters?.includes(name);\r\n\t}\r\n\r\n\tfunction skipToContent() {\r\n\t\t(document.querySelector(\"#ContentBegins\") as any).focus();\r\n\t}\r\n\r\n\tvar widgetConfig = (window as any)?.Widget.Config;\r\n\tvar widgetLogoURL = widgetConfig?.LogoUrl;\r\n\tvar widgetLogoFile = widgetConfig?.LogoImage?.Files?.[0]?.RawData;\r\n\tvar widgetBannerText = widgetConfig?.BannerText;\r\n\r\n\t//console.log(\"Location\", location.pathname + location.search);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{widgetLogoURL && \"\"}\r\n\t\t\t\t\t\t\t{widgetLogoFile && \"\"}\r\n\t\t\t\t\t\t\t{!widgetLogoURL && !widgetLogoFile && \"Credential Finder\"}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/*widgetConfig && {widgetBannerText}*/}\r\n\t\t\t\t\t{!widgetConfig && The Credential Finder is a tool for exploring all of the information published to the Credential Registry}\r\n\t\t\t\t\t skipToContent()}>Skip to Content\r\n\t\t\t\t\r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{!widgetConfig && (\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tHome\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t)}\r\n
  • \r\n\t\t\t\t\t\t\tSearch\r\n\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindCredential\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Credentials\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindOrganization\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Organizations\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindAssessment\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Assessments\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindLearningOpportunity\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Learning Opportunities\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindCompetencyFramework\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Competency Frameworks\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindCollection\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Collections\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindPathway\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Pathways\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{/*{!widgetHideFilter(\"FindPathwaySet\") &&*/}\r\n\t\t\t\t\t\t\t\t{/*\t*/}\r\n\t\t\t\t\t\t\t\t{/*\t\t*/}\r\n\t\t\t\t\t\t\t\t{/*\t\t\t\"\"*/}\r\n\t\t\t\t\t\t\t\t{/*\t\t\t{widgetGetPluralLabelForText(\"Pathway Sets\")}*/}\r\n\t\t\t\t\t\t\t\t{/*\t\t*/}\r\n\t\t\t\t\t\t\t\t{/*\t*/}\r\n\t\t\t\t\t\t\t\t{/*}*/}\r\n\t\t\t\t\t\t\t\t{/*{!widgetHideFilter(\"FindScheduledOffering\") &&*/}\r\n\t\t\t\t\t\t\t\t{/*\t*/}\r\n\t\t\t\t\t\t\t\t{/*\t\t*/}\r\n\t\t\t\t\t\t\t\t{/*\t\t\t\"\"*/}\r\n\t\t\t\t\t\t\t\t{/*\t\t\t{widgetGetPluralLabelForText(\"Scheduled Offerings\")}*/}\r\n\t\t\t\t\t\t\t\t{/*\t\t*/}\r\n\t\t\t\t\t\t\t\t{/*\t*/}\r\n\t\t\t\t\t\t\t\t{/*}*/}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindOutcomeData\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Outcome Data\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindSupportService\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Support Services\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindOccupation\") && \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Occupations\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindJob\") && \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Jobs\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindWorkRole\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Work Roles\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindTask\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Tasks\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindTransferValue\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Transfer Values\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindTransferIntermediary\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Transfer Intermediaries\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindConceptScheme\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Concept Schemes\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindProgressionModel\") && \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Progression Models\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindCredentialingAction\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Quality Assurance Actions\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindRubric\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Rubrics\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindMetric\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Metrics\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindIndustry\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Industries\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindQualificationsFrameworks\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Qualifications Frameworks\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!widgetHideFilter(\"FindAlignmentMap\") &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Alignment Maps\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n
    \r\n
  • \r\n
  • \r\n Finder Widgets\r\n
  • \r\n\t\t\t\t\t\t
  • \r\n Reports and Data\r\n
  • \r\n\t\t\t\t\t\t
  • \r\n \r\n Benchmark Reports\r\n \r\n
  • \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{true && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tCompare ({compareItems.length})\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{props.comparePanel}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{isMobileMenuOpen && }\r\n\t\t\t\t\t\t{!isMobileMenuOpen && ((window as any).Widget?.Config ? : )}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t/*\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t*/\r\n\t\t\t\t\t}\r\n
    \r\n\t\t\t
    \r\n\t\t\tContent after this point\r\n
    \r\n );\r\n}\r\n\r\nconst MobileMenuButton = styled.button`\r\n\tcolor: ${(props) => widgetGetColor(\"SearchResultButton\", false, \"#000\")};\r\n\tbackground-color: ${(props) => widgetGetColor(\"SearchResultButton\", true, \"transparent\")};\r\n\tborder: none;\r\n\twidth: 40px;\r\n\theight: 40px;\r\n\tfont-size: 26px;\r\n\r\n\t& .wide {\r\n\t\ttransform: scaleX(1.25);\r\n\t}\r\n\r\n\t&:hover, &:focus {\r\n\t\tcolor: ${(props) => widgetGetColor(\"SearchResultButton\", true, props.theme.color.aquaDark)};\r\n\t\tbackground-color: ${(props) => widgetGetColor(\"SearchResultButton\", false, \"transparent\")};\r\n\t}\r\n\r\n\t@media(min-width: 1200px){\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\t&.open {\r\n position: fixed;\r\n right: 1rem;\r\n top: 1rem;\r\n z-index: 100;\r\n\t\tcolor: ${(props) => widgetGetColor(\"SearchResultButton\", true, props.theme.color.aquaDark)};\r\n\t\tbackground-color: ${(props) => widgetGetColor(\"SearchResultButton\", false, \"transparent\")};\r\n\r\n\t\t&:hover, &:focus {\r\n\t\t\tcolor: ${(props) => widgetGetColor(\"SearchResultButton\", false, \"#FFF\")};\r\n\t\t\tbackground-color: ${(props) => widgetGetColor(\"SearchResultButton\", true, \"transparent\")};\r\n\t\t}\r\n }\r\n`;\r\n\r\nconst NavigationSkipButton = styled.button`\r\n\topacity: 0;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\theight: 0;\r\n\toverflow: hidden;\r\n\r\n\t& :focus {\r\n\t\theight: 50px;\r\n\t\tline-height: 16px;\r\n\t\topacity: 1;\r\n\t\tpadding: 5px;\r\n\t\tbackground-color: #FFF;\r\n\t\tcolor: #000;\r\n\t}\r\n`;\r\n\r\nconst ContentBegins = styled.div`\r\n\topacity: 0;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\theight: 0;\r\n\toverflow: hidden;\r\n`;\r\n","import styled from 'styled-components/macro';\r\n\r\nexport const Wrapper = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n padding: 100px 0;\r\n`;\r\n","import React, { ReactComponentElement, ReactNode } from 'react';\r\nimport ActivityIndicator from '../ActivityIndicator';\r\nimport { Wrapper } from './styles';\r\nimport Error from '../Error';\r\n\r\ninterface Props {\r\n isLoading: boolean;\r\n hasError: boolean;\r\n children: ReactNode;\r\n loadingComponent?: ReactNode;\r\n errorComponent?: ReactNode;\r\n}\r\n\r\nconst defaultLoadingComponent = (\r\n \r\n \r\n \r\n);\r\n\r\nconst defaultErrorComponent = ;\r\n\r\nexport default function LoadingOrError({\r\n isLoading,\r\n hasError,\r\n children,\r\n loadingComponent,\r\n errorComponent,\r\n}: Props) {\r\n if (isLoading) {\r\n if (loadingComponent) {\r\n return <>{loadingComponent};\r\n }\r\n return defaultLoadingComponent;\r\n }\r\n\r\n if (hasError) {\r\n if (errorComponent) {\r\n return <>{errorComponent};\r\n }\r\n return defaultErrorComponent;\r\n }\r\n\r\n return <>{children};\r\n}\r\n","import styled, { css } from 'styled-components';\r\nimport { widgetGetColor } from '../../utils/SiteWidgetizer';\r\n\r\nconst PageSectionItem = styled.div<{\r\n filled?: boolean;\r\n noBorder?: boolean;\r\n}>`\r\n display: flex;\r\n flex-direction: column;\r\n padding: 0 0 15px 0;\r\n\tmargin: 0 0 15px 0;\r\n justify-content: 'space-around';\r\n border-bottom: ${(p) => `1px solid ${widgetGetColor(\"SiteHeader\", false, p.theme.color.aquaDark)}`};\r\n &:last-child {\r\n border-bottom: none;\r\n }\r\n ${(p) =>\r\n p.filled &&\r\n css`\r\n background-color: ${p.theme.color.aquaDark};\r\n margin: 0 -10px -10px -10px;\r\n padding: 20px 10px;\r\n @media (max-width: ${(props) =>\r\n props.theme.breakpoint.tabletPortrait}) {\r\n margin-bottom: 0;\r\n }\r\n `}\r\n ${(p) =>\r\n p.noBorder &&\r\n css`\r\n border-bottom: none;\r\n `}\r\n`;\r\n\r\nexport default PageSectionItem;\r\n","export default __webpack_public_path__ + \"static/media/icon-organization-white-green-01.46b4fc2e.svg\";","export default __webpack_public_path__ + \"static/media/icon-occupations-and-industries-blue-green-01.0e731dde.svg\";","export default __webpack_public_path__ + \"static/media/icon-process-blue-green-01.236b7bf8.svg\";","import styled from 'styled-components/macro';\r\n\r\nexport const Wrapper = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n`;\r\n\r\nexport const PillWrapper = styled.div`\r\n margin: 5px;\r\n`;\r\n","import styled from 'styled-components/macro';\r\n\r\nexport const Link = styled.a`\r\n text-decoration: none;\r\n display: flex;\r\n\tgap: 10px;\r\n justify-content: space-between;\r\n align-items: center;\r\n cursor: pointer;\r\n background-color: ${(props) => props.theme.color.greyLight};\r\n border: 1px solid ${(props) => props.theme.color.greyLight};\r\n border-radius: 20px;\r\n font-size: ${(props) => props.theme.fontSize.sm};\r\n line-height: 1.714;\r\n padding: 2px 10px;\r\n position: relative;\r\n\r\n &:hover {\r\n background-color: ${(props) => props.theme.color.white};\r\n border-color: ${(props) => props.theme.color.greyDark};\r\n }\r\n`;\r\n\r\nexport const Label = styled.span`\r\n\r\n`;\r\n","import React, { ReactNode } from 'react';\r\nimport { Label, Link } from './styles';\r\n\r\ninterface Props extends React.ButtonHTMLAttributes {\r\n href: string;\r\n label: string;\r\n leftIcon?: ReactNode;\r\n\trightIcon?: ReactNode;\r\n\ttarget?: string;\r\n\ttitle?: string;\r\n}\r\n\r\nexport default function PillLink({ href, label, leftIcon, rightIcon, target, title }: Props) {\r\n\tconst useTitle = title || \"Opens search for '\" + label + \"' in a new window\";\r\n\tconst targetWindow = target || \"searchWindow\";\r\n return (\r\n\t\t\r\n {leftIcon}\r\n\t\t\t{label &&\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n {rightIcon}\r\n \r\n );\r\n}\r\n","import React, { ReactElement, useState } from 'react';\r\nimport styled, { DefaultTheme, StyledComponent } from 'styled-components/macro';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faAngleUp, faAngleRight } from '@fortawesome/free-solid-svg-icons';\r\n\r\nexport interface TruncatedItemListProps {\r\n\tListItemsComponent?: StyledComponent, //Couldn't figure out how to get this to work with a vanilla element, may revisit it later\r\n\tsource: any[],\r\n\trenderItemWith: (item: any, index?: number) => JSX.Element | null,\r\n\ttruncateAfter: number,\r\n\tstartExpanded?: boolean,\r\n\tlistCSSClass?: string,\r\n\tlistItemsCSSClass?: string,\r\n\texpandButtonCSSClass?: string\r\n}\r\n\r\nexport default function TruncatedItemList(props: TruncatedItemListProps) {\r\n\tvar [expanded, setExpanded] = useState(props.startExpanded || false);\r\n\r\n\tvar ListItemsComponent = props.ListItemsComponent || TruncatedListItems;\r\n\treturn (\r\n\t\tprops.source?.length > 0 &&\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{props.source.map((item, itemIndex) => (\r\n\t\t\t\t\t(expanded || itemIndex < props.truncateAfter) &&\r\n\t\t\t\t\tprops.renderItemWith(item, itemIndex)\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t{(props.source.length > props.truncateAfter) && (\r\n\t\t\t\t { setExpanded(!expanded) }} className={\"truncatedListButton \" + props.expandButtonCSSClass}>\r\n\t\t\t\t\t{expanded && Collapse List}\r\n\t\t\t\t\t{!expanded && Show All {props.source.length} Items}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t) || null\r\n}\r\n\r\nconst TruncatedList = styled.div`\r\n\r\n`;\r\n\r\nconst TruncatedListItems = styled.div`\r\n\r\n`;\r\n\r\nconst ExpandButton = styled.button`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tfont-weight: bold;\r\n\tbackground-color: transparent;\r\n\tborder: none;\r\n\twidth: 100%;\r\n\tpadding: 5px 10px;\r\n\r\n\t&:hover, &:focus {\r\n\t\tbackground-color: rgba(78, 229, 225, 0.5);\r\n\t}\r\n\r\n\t& svg {\r\n\t\tfont-size: 20px;\r\n\t\tmargin-left: auto;\r\n\t}\r\n`;","import React from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { faFilter, faSearch, faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Link, ReferenceFramework } from '../../types/external';\r\nimport { Wrapper, PillWrapper } from './styles';\r\nimport PillLink from '../PillLink';\r\nimport { title } from 'process';\r\nimport TruncatedItemList from '../DetailPage/TruncatedItemList';\r\nimport { widgetReplacePluralLabelInText, widgetReplaceSingleLabelInText } from '../../utils/SiteWidgetizer';\r\n\r\ninterface Props {\r\n links: Array;\r\n}\r\n\r\nexport function AllPills({ links }: Props) {\r\n return (\r\n \r\n {(links || []).map((link, index) => (\r\n // const title=\"Opens search for '\" + link.Label + \"' in a new window\";\r\n \r\n }\r\n rightIcon={\r\n \r\n }\r\n />\r\n \r\n ))}\r\n \r\n );\r\n}\r\n\r\nexport default function Pills({ links }: Props) {\r\n\treturn (\r\n\t\t {\r\n\t\t\t\treturn (\r\n\t\t\t\t// const title=\"Opens search for '\" + link.Label + \"' in a new window\";\r\n\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\trightIcon={\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)\r\n\t\t\t}}\r\n\t\t\ttruncateAfter={5}\r\n\t\t/>\r\n\t)\r\n}\r\n\r\nexport function ReferenceFrameworkPills(props: { links: Array | Array, itemTypeLabel?: string; }) {\r\n\t//Translate the incoming data to Credential Alignment Object\r\n\t//removing Unknown Framework. Have to be careful if shown with data from a framework (probably unlikely)\r\n\tvar items = ((props.links as any) || []).map((link: any) => {\r\n\t\treturn {\r\n\t\t\tLabel: link.Label || link.Name || \"Unknown Name\",\r\n\t\t\tDescription: link.Description || link.Description,\r\n\t\t\tCodedNotation: link.CodedNotation,\r\n\t\t\tTargetNode: link.TargetNode,\r\n\t\t\tURL: link.URL,\r\n\t\t\tFrameworkName: link.FrameworkName || \"\",\r\n\t\t\tFramework: link.Framework || \"https://null\"\r\n\t\t} as ReferenceFramework\r\n\t}) as Array;\r\n\r\n\t//Group the incoming data\r\n\tvar frameworks = [] as Array;\r\n\titems.forEach(item => {\r\n\t\tvar framework = frameworks.find(framework => framework.URL.toLowerCase() == item.Framework?.toLowerCase()) || frameworks.find(framework => framework.Name.toLowerCase() == item.FrameworkName?.toLowerCase());\r\n\t\tif (!framework) {\r\n\t\t\tframework = { Name: item.FrameworkName, URL: item.Framework, links: [] as Array };\r\n\t\t\tframeworks.push(framework);\r\n\t\t}\r\n\t\tframework.links.push(item);\r\n\t});\r\n\r\n\treturn (\r\n\t\t {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{framework.URL == \"https://null\" ? framework.Name : {framework.Name}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{framework.links.map((link: ReferenceFramework) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{link.Label}\r\n\t\t\t\t\t\t\t\t\t{link.URL && } />}\r\n\t\t\t\t\t\t\t\t\t{link.TargetNode && } target=\"_blank\" />}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t}}\r\n\t\t\ttruncateAfter={5}\r\n\t\t/>\r\n\t)\r\n}\r\n\r\nconst Framework = styled.div`\r\n\r\n`;\r\n\r\nconst FrameworkName = styled.div`\r\n\tfont-weight: bold;\r\n`;\r\n\r\nconst FrameworkItemList = styled.div`\r\n\tpadding: 0 20px;\r\n`;\r\n\r\nconst FrameworkItem = styled.div`\r\n\tdisplay: flex; align-items: center;\r\n\tgap: 5px;\r\n`;\r\n\r\nconst FrameworkItemName = styled.div`\r\n\t\r\n`","export function isFilled(item: any) {\r\n if (Array.isArray(item)) {\r\n return item.length > 0;\r\n }\r\n\r\n if (Number.isInteger(item)) {\r\n return true;\r\n }\r\n\r\n return Boolean(item);\r\n}\r\n","import styled from 'styled-components/macro';\r\n\r\nexport const Wrapper = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n`;\r\n\r\nexport const PillWrapper = styled.div`\r\n margin: 2px 5px;\r\n background-color: ${(props) => props.theme.color.greyLight};\r\n border: 1px solid ${(props) => props.theme.color.greyLight};\r\n border-radius: 20px;\r\n`;\r\n\r\nexport const Label = styled.span`\r\n margin: 0 10px;\r\n`;\r\n","import React from 'react';\r\nimport { faFilter, faSearch } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Link } from '../../types/external';\r\nimport { Label, Wrapper, PillWrapper } from './styles';\r\n\r\ninterface Props {\r\n links: Array;\r\n}\r\n\r\nexport default function Pills({ links }: Props) {\r\n return (\r\n \r\n {links.map((link, index) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n );\r\n}","import React from 'react';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { Label } from '../../components/DetailPage/styles';\r\nimport { Organization } from '../../types/external';\r\nimport SearchPills, { AllPills } from '../../components/SearchPills';\r\nimport { isFilled } from '../../validation';\r\nimport DisplayPills from '../../components/PillDisplay';\r\ninterface Props {\r\n org: Organization;\r\n}\r\n\r\n// This is split out because we need to render it a second time on mobile devices.\r\nexport default function AboutDetail({ org }: Props) {\r\n return (\r\n <>\r\n {isFilled(org.AgentType) && (\r\n \r\n \r\n \r\n \r\n )}\r\n {org.LifeCycleStatusType && (\r\n \r\n \r\n \r\n \r\n )}\r\n {isFilled(org.AlternateName) && (\r\n \r\n \r\n {org.AlternateName.map((name, index) => (\r\n
    {name}
    \r\n ))}\r\n
    \r\n )}\r\n {isFilled(org.Connections) && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { Place as PlaceType } from '../../types/external';\r\n\r\nexport default function PlaceList(props: { items: PlaceType[] }) {\r\n\treturn (props.items?.length > 0 &&\r\n\t\t
    \r\n\t\t\t{props.items.map((item) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nexport function Place(props: { item: PlaceType }) {\r\n\treturn (props.item &&\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t{props.item.Name && {props.item.Name}}\r\n\t\t\t\t{props.item.Identifier && props.item.Identifier.map((identifier) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{identifier.IdentifierType ?\r\n\t\t\t\t\t\t\t({identifier.IdentifierTypeName || \"Identifier\"}:) :\r\n\t\t\t\t\t\t\t({identifier.IdentifierTypeName || \"Identifier\"}:)}\r\n\t\t\t\t\t\t{identifier.IdentifierValueCode || \"No Value\"}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t
    \r\n\t\t\t{props.item.Description && {props.item.Description}}\r\n\t\t\t\r\n\t\t\t\t{props.item.StreetAddress && {props.item.StreetAddress ? props.item.StreetAddress : \"\"}}\r\n\t\t\t\t{(props.item.AddressLocality || props.item.AddressRegion) && {props.item.AddressLocality ? props.item.AddressLocality + \", \" : \"\"} {props.item.AddressRegion ? props.item.AddressRegion : \"\"}}\r\n\t\t\t\t{props.item.PostalCode && {props.item.PostalCode}}\r\n\t\t\t\t{props.item.AddressCountry && {props.item.AddressCountry}}\r\n\t\t\t\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nconst PlaceWrapper = styled.div`\r\n\tflex: 1 1 auto;\r\n\tpadding: 5px 0;\r\n\tline-height: 1.3em;\r\n`;\r\n\r\nconst Header = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\talign-items: baseline;\r\n`\r\n\r\nconst Name = styled.div`\r\n\tfont-weight: bold;\r\n\tmargin-right: 10px;\r\n\r\n\t&:empty {\r\n\t\tdisplay: none;\r\n\t}\r\n`;\r\n\r\nconst Description = styled.div`\r\n\tpadding: 1px 5px;\r\n\tfont-size: 85%;\r\n`;\r\n\r\nconst Identifier = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: baseline;\r\n\tpadding: 0 10px;\r\n\r\n\t&:not(:first-child) {\r\n\t\tborder-left: 1px solid #CCC;\r\n\t}\r\n\r\n\t& b {\r\n\t\tmargin-right: 0.5em;\r\n\t}\r\n`;\r\n\r\nconst AddressText = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: stretch;\r\n\tfont-size: 85%;\r\n\r\n\t& div {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t}\r\n`;\r\n\r\nconst StreetAddress = styled.div`\r\n\tborder-right: 1px solid #CCC;\r\n\tpadding-right: 10px;\r\n\r\n\t&:empty {\r\n\t\tdisplay: none;\r\n\t}\r\n`;\r\n\r\nconst AddressLocalityAndRegion = styled.div`\r\n\tpadding: 0 10px;\r\n\tborder-right: 1px solid #CCC;\r\n\r\n\t&:empty {\r\n\t\tdisplay: none;\r\n\t}\r\n`;\r\n\r\nconst PostalCode = styled.div`\r\n\tpadding: 0 10px;\r\n\tborder-right: 1px solid #CCC;\r\n`;\r\n\r\nconst AddressCountry = styled.div`\r\n\tpadding-left: 10px;\r\n\ttext-align: right;\r\n`;\r\n\r\n","export default __webpack_public_path__ + \"static/media/icon-location-blue-green-01.40bd72cc.svg\";","import { defaultMapSetting } from '../shared/data';\r\nimport { Place } from '../types/external';\r\n\r\nexport function setupMap(\r\n googleMap: google.maps.Map,\r\n maps: typeof google.maps,\r\n\tplaces: Array,\r\n defaultMapZoom?: number,\r\n) {\r\n const markers: Array = [];\r\n const infoWindows: Array = [];\r\n const bounds = new maps.LatLngBounds();\r\n\r\n places.forEach((place, index) => {\r\n if (place.Latitude && place.Longitude) {\r\n\t\t\tconst latLng = { lat: place.Latitude, lng: place.Longitude };\r\n\t\t\tvar marker = new maps.Marker({\r\n\t\t\t\tposition: latLng,\r\n\t\t\t\tmap: googleMap,\r\n\t\t\t\tlabel: place.MarkerLabel || \"\",\r\n\t\t\t\ttitle: place.MarkerTitle || \"\"\r\n\t\t\t});\r\n\t\t\tvar addressText = [place.StreetAddress, place.AddressLocality, place.AddressRegion].filter(m => m && m.length > 0).join(\", \") || \"Unnamed Location\";\r\n\t\t\tvar infoWindow = new maps.InfoWindow({\r\n\t\t\t\tcontent: (place.ResourceName ? \"\" + place.ResourceName + \"
    \" : \"\") +\r\n\t\t\t\t\t(place.ResourceProviderName ? place.ResourceProviderName + \"
    \" : \"\") +\r\n\t\t\t\t\t(place.Name ? place.Name + \"
    \" : \"\") +\r\n\t\t\t\t\t//\"\" + addressText + \"\",\r\n\t\t\t\t\t\"\" + addressText + \"\",\r\n\t\t\t});\r\n\t\t\tmarker.addListener(\"click\", () => {\r\n\t\t\t\t//Highlight the result and scroll to it\r\n\t\t\t\tvar resultDiv = document.querySelector(\"[data-meta_id='\" + (place as any).identifier + \"']\");\r\n\t\t\t\tresultDiv?.scrollIntoView();\r\n\t\t\t\tresultDiv?.classList.add(\"highlighted\");\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tresultDiv?.classList.remove(\"highlighted\");\r\n\t\t\t\t}, 100);\r\n\r\n\t\t\t\t//Open the info window on the map\r\n\t\t\t\tinfoWindows.filter(m => m != infoWindow).forEach(function (otherWindow) {\r\n\t\t\t\t\totherWindow.close();\r\n\t\t\t\t})\r\n\t\t\t\tinfoWindow.open(googleMap, marker);\r\n\t\t\t\tconst markerPosition = marker.getPosition();\r\n\t\t\t\tif (markerPosition) {\r\n\t\t\t\t\tgoogleMap.panTo(markerPosition);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t//Make it possible to relate this marker back to its result\r\n\t\t\tmarker.set(\"resultID\", (place as any).identifier);\r\n\t\t\tmarkers.push(marker);\r\n\t\t\tinfoWindows.push(infoWindow);\r\n bounds.extend(latLng);\r\n }\r\n\t});\r\n\r\n if (!bounds.isEmpty()) {\r\n googleMap.fitBounds(bounds);\r\n } else {\r\n googleMap.setCenter(defaultMapSetting.center);\r\n googleMap.setZoom(defaultMapSetting.zoom);\r\n }\r\n if (places.length === 1) {\r\n googleMap.setZoom(defaultMapZoom || 12);\r\n }\r\n return markers;\r\n}\r\n","import React from 'react';\r\nimport { Link } from '../../types/external';\r\nimport { ModalLinksWrapper, ModalLink } from './styles';\r\nimport { Button, InternalButtonLink } from '../common';\r\nimport { getLinkType } from '../../utils';\r\nimport PillLink from '../PillLink';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faFilter, faSearch } from '@fortawesome/free-solid-svg-icons';\r\nimport LinkObject from './LinkObject';\r\n\r\ninterface Props {\r\n links: Array;\r\n}\r\n\r\nexport default function ModalLinks({ links }: Props) {\r\n const buttonType = 'secondary';\r\n\r\n function renderModalLink(link: Link) {\r\n const linkType = getLinkType(link.URL);\r\n\r\n switch (linkType) {\r\n case 'external':\r\n if (link.URL.toLowerCase().indexOf(\"/search\") > -1) {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\trightIcon={\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn ( link && )\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\tcase 'internal':\r\n\t\t\t\tif (link.URL.toLowerCase().indexOf(\"/search\") > -1) {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\trightIcon={\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{link.Label}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n case 'none':\r\n return ;\r\n }\r\n }\r\n\r\n return (\r\n \r\n {links.map((link, index) => (\r\n \r\n {renderModalLink(link)}\r\n \r\n ))}\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { Outline as OutlineType } from '../../types/external';\r\nimport ModalLinks from '../DetailPage/ModalLinks';\r\nimport { Inline, InlineLabel } from \"./styles\";\r\n\r\nexport default function OutlineList(props: { items: OutlineType[] }) {\r\n\treturn (props.items?.length > 0 &&\r\n\t\t
    \r\n\t\t\t{props.items.map((item, index) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nexport function Outline(props: { item: OutlineType }) {\r\n\treturn (props.item && \r\n\t\r\n\t\t{props.item.Image && {\"Image}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t{props.item.ExtraData && props.item.ExtraData.Label === 'CodedNotation' && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{props.item.ProviderList && props.item.ProviderList.length > 0 ? (\r\n\t\t\t
    \r\n\t\t\t\t{props.item.ProviderList.map((provider, index) => (\r\n\t\t\t\t\tprovider.Label && provider.URL && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {index == 0 ? 'Providers:' : ''}\r\n\t\t\t\t\t\t\t\t{provider.Label}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)\r\n\t\t\t\t))}\r\n\t\t\t
    \r\n\t\t\t) : (\r\n\t\t\tprops.item.Provider && (props.item.Provider.Label || props.item.Provider.URL) && (\r\n\t\t\t\tProvider:\r\n\t\t\t\t\t{props.item.Provider.Label}\r\n\t\t\t\t\r\n\t\t\t))\r\n\t\t\t}\r\n\t\t\t{props.item.Description && {props.item.Description.length > 1000 ? props.item.Description.substring(0, 1000) + \"...\" : props.item.Description}}\r\n\t\t\t{props.item.Tags && }\r\n\t\t
    \r\n\t
    \r\n\t) || null\r\n}\r\nfunction TextItem(props: { label: string, item: string }) {\r\n\treturn (props.item &&\r\n\t\t\r\n\t\t\t{props.label}\r\n\t\t\t
    {props.item}
    \r\n\t\t
    \r\n\t) || null\r\n}\r\nconst OutlineWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: flex-start;\r\n\tpadding: 10px 0;\r\n\r\n\t&:first-child {\r\n\t\tpadding: 0 0 10px 0;\r\n\t}\r\n\r\n\t&:not(:last-child) {\r\n\t\tborder-bottom: 1px solid ${(p) => p.theme.color.aquaDark};\r\n\t}\r\n`;\r\n\r\nconst Image = styled.img`\r\n\tflex: 1 1 120px;\r\n\tmax-width: 120px;\r\n\tmax-height: 120px;\r\n\tobject-fit: contain;\r\n\tmargin-right: 10px;\r\n\r\n\t@media (max-width: 600px){\r\n\t\tmax-width: 60px;\r\n\t\tmax-height: 60px;\r\n\t}\r\n`;\r\n\r\nconst Content = styled.div`\r\n\tflex: 1 1 auto;\r\n`;\r\n\r\nconst Label = styled.div`\r\n\tfont-weight: bold;\r\n\tmargin-bottom: 5px;\r\n`;\r\n\r\nconst Provider = styled.div`\r\n\tfont-size: 85%;\r\n\tfont-style: italic;\r\n\tmargin-bottom: 5px;\r\n`;\r\n\r\nconst Description = styled.div`\r\n\tfont-size: 90%;\r\n\tword-break: break-word;\r\n\tmargin-bottom: 5px;\r\n`;\r\n","import React from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { Inline, InlineLabel } from \"./styles\";\r\nimport { PlainTextLink } from \"./LinkObject\";\r\nimport { Link } from \"../../types/external\";\r\n\r\n/* This file is for Components shared across Modal Windows and the main Detail Page */\r\n\r\nexport const Box = styled.div`\r\n\tborder: 1px solid ${(p) => p.theme.color.aquaDark};\r\n\tmargin-bottom: 10px;\r\n`;\r\n\r\nexport const BoxLabel = styled.div`\r\n\tbackground-color: ${(p) => p.theme.color.aquaDark};\r\n\tpadding: 5px 10px;\r\n\tfont-size: 18px;\r\n\tfont-weight: bold;\r\n`;\r\n\r\nexport const BoxContent = styled.div`\r\n\tpadding: 10px;\r\n`;\r\n\r\nexport const Section = styled.div`\r\n\tpadding: 5px 0;\r\n\r\n\t&:not(:last-child) {\r\n\t\tborder-bottom: 1px solid #CCC;\r\n\t}\r\n`;\r\n\r\nexport const SectionLabel = styled.div`\r\n\tfont-size: 18px;\r\n\tpadding: 5px 0;\r\n`;\r\n\r\nexport const SectionContent = styled.div`\r\n\tpadding: 0 0 0 20px;\r\n\tmargin-bottom: 10px;\r\n\r\n\t& .withBelow {\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\r\n\t& .withAbove {\r\n\t\tmargin-top: 0;\r\n\t}\r\n\r\n`;\r\n\r\nexport function SectionContentItem(props: { label: string, data: T, RenderWith: (data: T) => JSX.Element }) {\r\n\treturn (props.data && (Array.isArray(props.data) ? props.data.length > 0 : true) &&\r\n\t\t\r\n\t\t\t{props.label && {props.label}:}\r\n\t\t\t{props.RenderWith(props.data)}\r\n\t\t\r\n\t) || null\r\n}\r\n\r\nexport function LinkItem(props: { label: string, item: any }) {\r\n\tif (!props.item) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvar link = typeof (props.item) == \"string\" ? ({ Label: props.item, URL: props.item } as Link) : (props.item as Link);\r\n\treturn (link.URL &&\r\n\t\t\r\n\t\t\t{props.label}\r\n\t\t\t\r\n\t\t\r\n\t) || null\r\n}\r\n\r\n//Not exported to avoid confusion with SectionContentItem\r\nconst SectionContentItemWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tmin-height: 30px;\r\n\r\n\t& > * { margin-right: 10px; }\r\n`;\r\n","import React from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { JurisdictionProfile as JurisdictionProfileType } from '../../types/external';\r\nimport { Outline } from './Outline';\r\nimport { Section, SectionLabel, SectionContent } from './Shared';\r\nimport PlaceList, { Place } from './Place';\r\n\r\nexport default function JurisdictionProfileList(props: { items: JurisdictionProfileType[], mainJurisdictionLabel?: string, jurisdictionExceptionLabel?: string, isGlobalJurisdictionText?: string }) {\r\n\treturn (props.items?.length > 0 &&\r\n\t\t
    \r\n\t\t\t{props.items.map((item) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nexport function JurisdictionProfile(props: { item: JurisdictionProfileType, mainJurisdictionLabel?: string, jurisdictionExceptionLabel?: string, isGlobalJurisdictionText?: string }) {\r\n\treturn (props.item &&\r\n\t\t\r\n\t\t\t{props.item.Description && \r\n\t\t\t\t
    {props.item.Description}
    \r\n\t\t\t}\r\n\t\t\t{props.item.GlobalJurisdiction && \r\n\t\t\t\t
    {props.isGlobalJurisdictionText || \"The jurisdiction is global.\"}
    \r\n\t\t\t}\r\n\t\t\t{props.item.MainJurisdiction && \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
    {props.mainJurisdictionLabel || \"Applies In\"}
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{props.item.JurisdictionException?.length > 0 &&\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
    {props.jurisdictionExceptionLabel || \"Does Not Apply In\"}
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{props.item.AssertedBy &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tAsserted By\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t
    \r\n\t)\r\n}\r\n\r\nconst JurisdictionProfileWrapper = styled.div`\r\n\t&:not(:last-child) {\r\n\t\tborder-bottom: 1px dashed #CCC;\r\n\t}\r\n`;","import React, { ReactNode } from 'react';\r\nimport { isFilled } from '../../validation';\r\n\r\ninterface Props {\r\n data: any;\r\n keys: Array;\r\n children: ReactNode;\r\n}\r\n\r\nexport default function HasAnyFilled({ data, keys, children }: Props) {\r\n const hasAnyFilled = keys.some((key) => isFilled(data[key]));\r\n return hasAnyFilled ? <>{children} : null;\r\n}\r\n","import React from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { findIconDefinition, IconName } from '@fortawesome/fontawesome-svg-core';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { ContactPoint as ContactPointType } from '../../types/external';\r\n\r\nexport default function ContactPointList(props: { items: ContactPointType[]; }) {\r\n\tif (props.items?.length > 0) {\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t{props.items.map((item) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t
    \r\n\t\t)\r\n\t}\r\n\treturn null;\r\n}\r\n\r\nexport function ContactPoint(props: { item: ContactPointType }) {\r\n\treturn (props.item &&\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{props.item.Name && {props.item.Name}}\r\n\t\t\t\t{props.item.ContactType && Type: {props.item.ContactType}}\r\n\t\t\t\t{props.item.Telephone?.length > 0 && Phone: {props.item.Telephone.join(\", \")}}\r\n\t\t\t\t{props.item.FaxNumber && Fax: {props.item.FaxNumber}}\r\n\t\t\t\t{props.item.Email?.length > 0 && Email:{props.item.Email.map((email) => {email})}}\r\n\t\t\t\r\n\t\t\t{props.item.SocialMedia?.length > 0 &&\r\n\t\t\t\r\n\t\t\t\t{props.item.SocialMedia.map((url) =>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\t}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport function SocialMediaIcon(props: { url: string }) {\r\n\t//It's okay to ignore the typescript errors here\r\n\ttry {\r\n\t\tvar domainParts = props.url.toLowerCase().replace(\"http://\", \"\").replace(\"https://\", \"\").split(\"/\")[0].split(\".\");\r\n\t\tvar domain = domainParts[domainParts.length - 2];\r\n\r\n\t\tvar definition =\r\n\t\t\tfindIconDefinition({ prefix: \"fab\", iconName: domain + \"-square\" as IconName }) ||\r\n\t\t\tfindIconDefinition({ prefix: \"fab\", iconName: domain as IconName }) ||\r\n\t\t\tfindIconDefinition({ prefix: \"fas\", iconName: \"hashtag\" });\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\tcatch (e) {\r\n\t\tconsole.log(\"Error parsing social media URL: \", { url: props.url, error: e });\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\nconst ContactPointWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\twidth: 100%;\r\n\tpadding: 5px;\r\n\tfont-size: 85%;\r\n\r\n\t&:not(:last-child) {\r\n\t\tborder-bottom: 1px dashed #CCC;\r\n\t}\r\n`;\r\n\r\nconst ContactDetails = styled.div`\r\n\tflex: 1 1 auto;\r\n\tmargin-right: auto;\r\n\tpadding-right: 10px;\r\n\r\n\t&:empty {\r\n\t\tdisplay: none;\r\n\t}\r\n`;\r\n\r\nconst ContactName = styled.div`\r\n\r\n`;\r\n\r\nconst ContactType = styled.div`\r\n\t\r\n`;\r\n\r\nconst ContactTelephone = styled.div`\r\n\r\n`;\r\n\r\nconst ContactFaxNumber = styled.div`\r\n\r\n`;\r\n\r\nconst ContactEmail = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\r\n\t& a {\r\n\t\tmargin: 0 5px;\r\n\t}\r\n`;\r\n\r\nconst ContactSocialMedia = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\tmargin: 0 auto;\r\n\r\n\t& a {\r\n\t\tmargin: 2px;\r\n\t}\r\n`;\r\n","import React, { ReactNode, useEffect, useRef, useState } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { Organization, Credential, Assessment, LearningOpportunity, ScheduledOffering, Place as PlaceType, SupportService } from '../../types/external';\r\nimport { Place } from './Place';\r\nimport { isFilled } from '../../validation';\r\nimport PageSection from '../PageSection';\r\nimport PageSectionItem from '../PageSectionItem';\r\nimport locationsIcon from '../../assets/images/icons/icon-location-blue-green-01.svg';\r\nimport {\r\n Label,\r\n MapWrapper,\r\n} from './styles';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport {\r\n faChevronLeft,\r\n\tfaChevronRight,\r\n\tfaChevronDown\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport GoogleMap from 'google-map-react';\r\nimport { defaultMapSetting } from '../../shared/data';\r\nimport { googleMapsKey } from '../../shared/globals';\r\nimport { setupMap } from '../../services/map';\r\nimport JurisdictionProfileList from '../../components/DetailPage/JurisdictionProfile';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport ContactPointList from './ContactPoint';\r\n\r\ninterface Props {\r\n\titem: Credential | Assessment | LearningOpportunity | Organization | ScheduledOffering | SupportService;\r\n\tpageSectionDescription?: string;\r\n}\r\n\r\nexport default function LocationPageSection(props: Props) {\r\n const googleMap = useRef();\r\n const [selectedAddressIndex, setSelectedAddressIndex] = useState(0);\r\n\r\n\tvar generic = props.item as any;\r\n\tvar locations: PlaceType[] = generic.Address || generic.AvailableAt || [];\r\n\r\n\t//Filter out empty addresses\r\n\tlocations = locations.filter((item) => { return Object.keys(item).length > 0 });\r\n\r\n\t//Filter out locations whose only property is TargetContactPoint\r\n\tvar contactOnlyLocations = locations.filter((location) => (Object.keys(location).length == 1 && location.TargetContactPoint?.length > 0));\r\n\tlocations = locations.filter((location) => (contactOnlyLocations.indexOf(location) == -1));\r\n\r\n\t//Inject Location IDs for accessibility and to reference the numbered icons on the page\r\n\tlocations = locations.map((location, index) => {\r\n\t\treturn {\r\n\t\t\t...location,\r\n\t\t\tMarkerLabel: location.MarkerLabel || (index + 1).toString()\r\n\t\t}\r\n\t});\r\n\r\n\t//Get a list of all real locations with contacts\r\n\tvar allLocationContacts = locations.filter(m => m.TargetContactPoint).flatMap(m => m.TargetContactPoint);\r\n\r\n\t//Get a list of all contact-only data\r\n\tvar nonLocationContacts = contactOnlyLocations.flatMap((location) => (location.TargetContactPoint));\r\n\tif (generic.Email?.length > 0 || generic.SocialMedia?.length > 0) {\r\n\t\tnonLocationContacts.push({\r\n\t\t\tName: \"\",\r\n\t\t\tEmail: generic.Email,\r\n\t\t\tSocialMedia: generic.SocialMedia,\r\n\t\t\tContactType: \"\",\r\n\t\t\tFaxNumber: \"\",\r\n\t\t\tTelephone: []\r\n\t\t});\r\n\t}\r\n\r\n\t//Handle map marker clicks\r\n function nextMapMarkerOnClick(direction: 'left' | 'right') {\r\n return () => {\r\n const nextIndex =\r\n direction === 'left'\r\n ? selectedAddressIndex - 1\r\n : selectedAddressIndex + 1;\r\n const fallbackIndex =\r\n direction === 'left' ? locations.length - 1 : 0;\r\n\r\n if (locations[nextIndex]) {\r\n setSelectedAddressIndex(nextIndex);\r\n } else if (locations[fallbackIndex]) {\r\n setSelectedAddressIndex(fallbackIndex);\r\n }\r\n };\r\n }\r\n\r\n useEffect(() => {\r\n if (isFilled(locations) && googleMap.current) {\r\n const lat = locations[selectedAddressIndex].Latitude;\r\n const lng = locations[selectedAddressIndex].Longitude;\r\n\t\t\tgoogleMap.current.panTo({ lat, lng });\r\n\t\t\tgoogleMap.current.setZoom(12);\r\n }\r\n\t}, [googleMap, locations, selectedAddressIndex]);\r\n\r\n\t//Handle jurisdiction text\r\n const entityType = props.item.BroadType;\r\n\tvar mainJurisdicionLabel = \"This \" + entityType + \" has these assertions in:\";\r\n\tvar jurisdictionExceptionLabel = \"This \" + entityType + \" does not have these assertions in:\";\r\n if(entityType == \"Organization\") {\r\n mainJurisdicionLabel = \"This organization has a notable presence in:\";\r\n jurisdictionExceptionLabel = \"This organization does not have a notable presence in:\";\r\n\t}\r\n\r\n return (\r\n \r\n\t\t\t\r\n {isFilled(props.item.AvailabilityListing) && (\r\n \r\n \r\n {props.item.AvailabilityListing.map(\r\n (listing, index) => (\r\n \r\n {listing}\r\n\t\t\t\t\t\t\t\t\r\n ),\r\n )}\r\n \r\n )}\r\n {isFilled(locations) && (\r\n \r\n \r\n {locations.length > 1 && (\r\n\t\t\t\t\t\t\t\t\r\n \r\n \r\n )}\r\n \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n {locations.length > 1 && (\r\n\t\t\t\t\t\t\t\t\r\n \r\n \r\n )}\r\n \r\n \r\n {\r\n setupMap(map, maps, locations || []);\r\n googleMap.current = map;\r\n }}\r\n />\r\n \r\n\t\t\t\t\t\t{(locations.length > 1 || allLocationContacts.length > 0) && (\r\n\t\t\t\t\t\t\t 0 ? \" and \" + allLocationContacts.length + \" Contact\" + (allLocationContacts.length == 1 ? \"\" : \"s\") : \"\")}>\r\n\t\t\t\t\t\t\t\t{locations.map((place, index) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t setSelectedAddressIndex(index)}\r\n\t\t\t\t\t\t\t\t\t\t\tkey={`cr-location-${index}`}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n \r\n )}\r\n \r\n )}\r\n\t\t\t\t{nonLocationContacts?.length > 0 &&\r\n\t\t\t\t\t(\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t\t{isFilled(props.item.SameAs) && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{props.item.SameAs.map((url) => (\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{url}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t\t{isFilled(props.item.Jurisdiction) && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n
    \r\n \r\n );\r\n}\r\n\r\nfunction NumberedLocation(props: { number: number; place: PlaceType; }) {\r\n\tif (props.place != null) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{props.number}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\treturn null;\r\n}\r\n\r\nfunction LocationListing(props: { label: string, children: ReactNode }) {\r\n\tconst [isOpen, setIsOpen] = useState(false);\r\n\r\n\tfunction openOrClose() {\r\n\t\tsetIsOpen(!isOpen);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{props.label}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{isOpen ? (\r\n\t\t\t\t{props.children}\r\n\t\t\t) : null}\r\n\t\t\r\n\t);\r\n}\r\n\r\nconst LocationScroller = styled.div`\r\n display: flex;\r\n align-items: stretch;\r\n margin-bottom: 10px;\r\n`;\r\n\r\nconst LocationScrollerButton = styled.button`\r\n cursor: pointer;\r\n\tbackground-color: transparent;\r\n\tborder: none;\r\n\r\n\t&:hover, &:focus {\r\n\t\tbackground-color: ${(p) => p.theme.color.aquaLight};\r\n\t}\r\n`;\r\n\r\nconst LocationListingItem = styled.div`\r\n\t& .ContactPointList {\r\n\t\tpadding: 0 10px;\r\n\t}\r\n\r\n\t&:not(:last-child) { border-bottom: 1px solid #CCC; }\r\n`;\r\n\r\nconst LocationListingItemButton = styled.button`\r\n\tdisplay: block;\r\n\tborder-radius: 3px;\r\n\twidth: 100%;\r\n\ttext-align: left;\r\n\tborder: none;\r\n\tbackground-color: transparent;\r\n\tpadding: 5px 10px;\r\n\tcursor: pointer;\r\n\r\n\t&:hover, &:focus {\r\n\t\tbackground-color: ${(p) => p.theme.color.aquaLight};\r\n\t}\r\n\r\n`;\r\n\r\nexport const LocationNumber = styled.label`\r\n background-color: ${(p) => p.theme.color.aquaDark};\r\n padding: 5px 10px;\r\n border-radius: 50%;\r\n margin-right: 10px;\r\n`;\r\n\r\nconst LocationScrollerContent = styled.div`\r\n\tflex: 1 1 auto;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tpadding: 0 10px;\r\n`;\r\n\r\nconst NumberedLocationWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\twidth: 100%;\r\n`;\r\n\r\nconst LocationListingContent = styled.div`\r\n padding-top: 10px;\r\n`;\r\n\r\nconst LocationListingHeading = styled.button`\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n\tbackground-color: transparent;\r\n\tborder: none;\r\n\tpadding: 10px;\r\n\tborder-radius: 3px;\r\n\r\n\t&:hover, &:focus {\r\n\t\tbackground-color: ${(p) => p.theme.color.aquaLight};\r\n\t}\r\n\r\n\t& svg {\r\n\t\tmargin-left: auto;\r\n\t\tfont-size: 20px;\r\n\t}\r\n`;\r\n\r\nconst AvailabilityLink = styled.a`\r\n\tdisplay: block;\r\n\tmargin-bottom: 5px;\r\n\tword-break: break-word;\r\n`;","import React, { useContext, useState, useEffect } from 'react';\r\nimport { renderToString } from 'react-dom/server';\r\nimport styled from 'styled-components/macro';\r\nimport { MainItemBroadType } from '../../types/internal';\r\nimport { Button } from '../common';\r\nimport Banner from '../Banner';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faCheck } from '@fortawesome/free-solid-svg-icons';\r\nimport { isOrganization, isTransferValue} from '../../utils';\r\nimport { WhiteLink } from '../Banner/styles';\r\nimport { legacySourceUrl } from '../../shared/globals';\r\nimport { addCompareItem, getCompareItemByCTID, removeCompareItem, getCompareItems, updateStateOnCompareChange } from '../../utils/LocalStorage';\r\nimport ActivityIndicator from '../ActivityIndicator';\r\nimport { widgetGetColor, widgetGetSingleLabelForCTDLType } from '../../utils/SiteWidgetizer';\r\n\r\n\r\ninterface Props {\r\n item: MainItemBroadType;\r\n bannerIcon: string;\r\n\tfallbackIcon?: string;\r\n}\r\n\r\nexport default function PageBanner(props: Props) {\r\n\tconst [compareItems, setCompareItems] = useState(getCompareItems());\r\n\r\n\tuseEffect(() => {\r\n\t\tupdateStateOnCompareChange(() => { setCompareItems([...getCompareItems()]); });\r\n\t\tsetCompareItems(getCompareItems());\r\n\t}, []);\r\n\r\n function getSubTitle() {\r\n return isOrganization(props.item)\r\n ? undefined\r\n : props.item.OwnedByLabel && props.item.OwnedByLabel.Label;\r\n }\r\n\r\n\tfunction getSubTitleLink() {\r\n\t\tif (!isOrganization(props.item) && props.item.OwnedByLabel && props.item.OwnedByLabel.Label) {\r\n\t\t\treturn props.item.OwnedByLabel.URL ?\r\n\t\t\t\t{props.item.OwnedByLabel.Label} :\r\n\t\t\t\t<>{props.item.OwnedByLabel.Label};\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n \r\n\tfunction getLegacyLink() {\r\n\t\tif ( props.item.Meta_Id ) {\r\n const url = legacySourceUrl + \"/\" + props.item.BroadType + \"/\" + props.item.Meta_Id;\r\n const mystyle = {\r\n\t\t\t\tcolor: \"transparent\",\r\n\t\t\t\t//backgroundColor: \"#0a2942\",\r\n marginLeft: \"10px\"\r\n };\r\n\t\t\treturn <>\r\n\t\t\t\tLegacy Version\r\n \r\n\t\t\t\t\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvar hasBadge: boolean = (props.item as any).Meta_HasVerificationBadge;\r\n\r\n\tfunction handleCompare() {\r\n\t\tgetCompareItems().find((item: any) => item.CTID == props.item.CTID) == null ? addCompareItem(props.item) : removeCompareItem(props.item);\r\n\t}\r\n\r\n\tconsole.log(\"Item\", props);\r\n\r\n return (\r\n Last updated: {props.item.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n }\r\n\t\t\totherContent={\r\n\t\t\t\t<>\r\n\t\t\t\t\t{(((props.item as any)?.CTDLType != \"ceasn:Competency\") && ((props.item as any)?.CTDLType != \"CredentialingAction\")) && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n }\r\n />\r\n );\r\n}\r\n\r\nfunction CustomButtonBox(props: { resource: any }) {\r\n\t//Initialize the container's identifier once per page load\r\n\tconst [customButtonBoxID, setCustomButtonBoxID] = useState(\"\");\r\n\tif (!customButtonBoxID) {\r\n\t\tsetCustomButtonBoxID((crypto as any).randomUUID() as string);\r\n\t}\r\n\r\n\t//Call the function to setup the container\r\n\tvar isInIframe = window != window.parent;\r\n\tuseEffect(() => {\r\n\t\tif (!props.resource?.Name) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tsetupCustomButtonBox();\r\n\t}, [props.resource]);\r\n\r\n\t//Setup the container\r\n\tfunction setupCustomButtonBox() {\r\n\t\t//Cancel if we aren't in an iframe\r\n\t\tif (!isInIframe) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t//Find the container or try again\r\n\t\tvar container = document.getElementById(customButtonBoxID) as any;\r\n\t\tif (!container) {\r\n\t\t\tsetTimeout(setupCustomButtonBox, 100);\r\n\t\t}\r\n\t\telse {\r\n\t\t\t//Create an event listener for when we are told to render the custom button\r\n\t\t\twindow.addEventListener(\"message\", event => {\r\n\t\t\t\tvar eventData = typeof (event.data) == \"string\" ? JSON.parse(event.data) : event.data;\r\n\t\t\t\tif (event.source == window.parent && eventData?.Type == \"RenderCustomButton\") {\r\n\t\t\t\t\t//Wipe out the container's contents\r\n\t\t\t\t\tcontainer.innerHTML = \"\";\r\n\r\n\t\t\t\t\t//If there is any content...\r\n\t\t\t\t\tif (eventData.Data.Content) {\r\n\t\t\t\t\t\t//Create the button\r\n\t\t\t\t\t\tvar button = document.createElement(\"button\");\r\n\t\t\t\t\t\tbutton.style.cssText = eventData.Data.Style;\r\n\t\t\t\t\t\tbutton.innerHTML = eventData.Data.Content;\r\n\r\n\t\t\t\t\t\t//Add a listener for when the button is clicked\r\n\t\t\t\t\t\tbutton.addEventListener(\"click\", click => {\r\n\t\t\t\t\t\t\twindow.parent.postMessage(JSON.stringify({\r\n\t\t\t\t\t\t\t\tType: \"CustomButtonClicked\",\r\n\t\t\t\t\t\t\t\tData: props.resource\r\n\t\t\t\t\t\t\t}), \"*\");\r\n\t\t\t\t\t\t\tbutton.disabled = true;\r\n\t\t\t\t\t\t\tbutton.innerHTML = \"Loading... \" + renderToString();\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t//Attach the button\r\n\t\t\t\t\t\tcontainer.appendChild(button);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t//Tell the parent page that we've loaded the data\r\n\t\t\twindow.parent.postMessage(JSON.stringify({\r\n\t\t\t\tType: \"ResourceLoaded\",\r\n\t\t\t\tData: props.resource\r\n\t\t\t}), \"*\");\r\n\t\t}\r\n\t}\r\n\r\n\t//Return the container or null\r\n\treturn isInIframe ? : null;\r\n}\r\n\r\nconst CustomButtonContainer = styled.div`\r\n\tpadding: 5px 0;\r\n\t\r\n\t& button {\r\n\t\tdisplay: block;\r\n\t\twidth: 100%;\r\n\t\tborder: none;\r\n\t\tborder-radius: 3px;\r\n\t\tpadding: 10px;\r\n\t\tfont-size: 1rem;\r\n\t\tline-height: 1.125;\r\n\t\tbackground: ${(props) => widgetGetColor(\"SearchResultLink\", false, props.theme.color.aquaDark)};\r\n border-color: ${(props) => widgetGetColor(\"SearchResultLink\", true, props.theme.color.aquaDark)};\r\n color: ${(props) => widgetGetColor(\"SearchResultLink\", true, props.theme.color.blueDark)};\r\n\r\n\t\t&:hover {\r\n\t\t\tfilter: brightness(1.5);\r\n\t\t}\r\n\t}\r\n`;\r\n","export default __webpack_public_path__ + \"static/media/icon-quality-assurance-blue-green-01.c03baf90.svg\";","import styled from 'styled-components/macro';\r\n\r\nexport const Wrapper = styled.div`\r\n position: fixed;\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n z-index: 1;\r\n background-color: rgba(10, 41, 66, 0.65);\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n`;\r\n\r\nexport const StyledModal = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n background-color: ${(p) => p.theme.color.white};\r\n\tmin-height: 80%;\r\n max-height: 80%;\r\n width: 80%;\r\n @media (max-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n width: 95%;\r\n }\r\n`;\r\n\r\nexport const Body = styled.div`\r\n overflow: auto;\r\n\tpadding: 20px;\r\n`;\r\n\r\nexport const Heading = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n padding: 11px 20px 9px 20px;\r\n\tborder-bottom: 1px solid ${(p) => p.theme.color.aquaDark};\r\n`;\r\n\r\nexport const HeadingText = styled.h3`\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\tfont-size: 26px;\r\n`;\r\n\r\nexport const SubHeading = styled.div`\r\n\tpadding: 5px 20px 7px 20px;\r\n\tfont-size: 25px;\r\n\tborder-bottom: 1px solid ${(p) => p.theme.color.aquaDark};\r\n`;\r\n\r\nexport const Close = styled.button`\r\n cursor: pointer;\r\n border: none;\r\n background-color: transparent;\r\n`;\r\n","import axios from 'axios';\r\nimport { appURL } from '../../shared/globals';\r\n\r\nexport var ajaxCacheData = [];\r\n\r\nexport function getResourceByURI(uri, updateState, onLoading, onSuccess, onError) {\r\n\turi = (uri || \"\").replace(\"http://\", \"https://\");\r\n\tconsole.log(\"Received request to get resource via URI: \" + uri, ajaxCacheData);\r\n\tvar match = ajaxCacheData.filter(m => { return m.URI == uri })[0];\r\n\tif (match) {\r\n\t\tmatch.Status == \"loading\" && onLoading?.();\r\n\t\tmatch.Status == \"success\" && onSuccess?.(match.Data);\r\n\t\tmatch.Status == \"error\" && onError?.(match.Data);\r\n\t}\r\n\telse {\r\n\t\tmatch = {\r\n\t\t\tURI: uri,\r\n\t\t\tData: null,\r\n\t\t\tStatus: \"loading\"\r\n\t\t};\r\n\t\tajaxCacheData.push(match);\r\n\r\n\t\taxios.get(uri).then((response) => {\r\n\t\t\tconsole.log(\"Got resource by URI\", response);\r\n\t\t\tmatch.Data = response.data;\r\n\t\t\tmatch.Status = \"success\";\r\n\t\t\tconsole.log(\"Updating state\");\r\n\t\t\tupdateState?.([]);\r\n\t\t\tonSuccess?.(match.Data);\r\n\t\t}).catch((response) => {\r\n\t\t\tconsole.log(\"Error getting resource by URI\", response);\r\n\t\t\tmatch.Data = response.data;\r\n\t\t\tmatch.Status = \"error\";\r\n\t\t\tconsole.log(\"Updating state\");\r\n\t\t\tupdateState?.([]);\r\n\t\t\tonError?.(match.Data);\r\n\t\t});\r\n\r\n\t\tupdateState?.([]);\r\n\t\tonLoading?.();\r\n\t}\r\n\r\n\treturn match;\r\n}\r\n\r\nexport function englishOrNull(languageMap) {\r\n\tif (typeof languageMap === \"string\") {\r\n return languageMap;\r\n }\r\n //for all english\r\n if (languageMap?.[\"en-US\"]) return languageMap[\"en-US\"];\r\n if (languageMap?.[\"en-us\"]) return languageMap[\"en-us\"];\r\n\r\n // // Check for any key that starts with \"en-\"\r\n for (const key in languageMap) {\r\n\t\tdebugger;\r\n if (key.startsWith(\"en\")) {\r\n return languageMap[key];\r\n }\r\n }\r\n\treturn null;\r\n}\r\n\r\nexport function createKeywordSearchLink(searchType, text) {\r\n\treturn { Label: text, URL: appURL + \"/search?autosearch=true&searchType=\" + searchType + \"&keywords=\" + text };\r\n}\r\n\r\nexport function createKeywordSearchLinkListFromCredentialAlignmentObjectList(searchType, itemList) {\r\n\treturn itemList?.map(item => { return createKeywordSearchLink(searchType, englishOrNull(item[\"ceterms:targetNodeName\"])); });\r\n}\r\n\r\nexport function createReferenceFrameworkFromCredentialAlignmentObject(searchType, cao) {\r\n\tvar label = englishOrNull(cao[\"ceterms:targetNodeName\"]) || cao[\"ceterms:codedNotation\"];\r\n\tvar url = appURL + \"/search?autosearch=true&searchType=\" + searchType + \"&keywords=\" + label;\r\n\treturn {\r\n\t\tLabel: label,\r\n\t\tURL: url,\r\n\t\tCodedNotation: cao[\"ceterms:codedNotation\"],\r\n\t\tDescription: englishOrNull(cao[\"ceterms:targetNodeDescription\"]),\r\n\t\tTargetNode: cao[\"ceterms:targetNode\"],\r\n\t\tFrameworkName: englishOrNull(cao[\"ceterms:frameworkName\"]),\r\n\t\tFramework: cao[\"ceterms:framework\"]\r\n\t};\r\n}\r\n\r\nwindow.AJAXCacheV2 = window.AJAXCacheV2 || [];\r\nexport var AJAXCacheV2 = window.AJAXCacheV2;\r\n\r\nexport function addResourceToCache(url, data) {\r\n\tvar match = window.AJAXCacheV2.find(m => m.URL == url);\r\n\tif (!match) {\r\n\t\twindow.AJAXCacheV2.push({\r\n\t\t\tURL: url,\r\n\t\t\tResponse: data,\r\n\t\t\tError: null,\r\n\t\t\tStatus: \"success\",\r\n\t\t\tOnSuccess: [],\r\n\t\t\tOnError: []\r\n\t\t});\r\n\t}\r\n}\r\n\r\nexport function getResourceByURLWithoutState(url, onLoading, onSuccess, onError, customConfig) {\r\n\t//Find the request in the queue\r\n\turl = (url || \"\").replace(\"http://\", \"https://\");\r\n\tvar match = window.AJAXCacheV2.filter(m => m.URL == url)[0];\r\n\r\n\t//If not found, create it\r\n\tif (!match) {\r\n\t\tmatch = {\r\n\t\t\tURL: url,\r\n\t\t\tResponse: null,\r\n\t\t\tError: null,\r\n\t\t\tStatus: \"loading\",\r\n\t\t\tOnSuccess: [], //Success and Error handlers get .push()'d later, so no need to include them here\r\n\t\t\tOnError: []\r\n\t\t};\r\n\t\twindow.AJAXCacheV2.push(match);\r\n\r\n\t\t//Get the data, then...\r\n\t\tcustomConfig = customConfig || { headers: { \"Accept\": \"application/json\" } };\r\n\t\taxios.get(url, customConfig).then(response => {\r\n\t\t\t//On success, run all of the success handlers associated with this match\r\n\t\t\tmatch.Response = response.data;\r\n\t\t\tmatch.Status = \"success\";\r\n\t\t\tconsole.log(\"Got resource by URL\", match);\r\n\r\n\t\t\tmatch.OnSuccess.forEach(handler => {\r\n\t\t\t\thandler?.(match.Response);\r\n\t\t\t});\r\n\t\t}).catch(error => {\r\n\t\t\t//On error, run all of the error handlers associated with this match\r\n\t\t\tmatch.Error = error;\r\n\t\t\tmatch.Status = \"error\";\r\n\t\t\tconsole.log(\"Error getting resource by URL\", match);\r\n\r\n\t\t\tmatch.OnError.forEach(handler => {\r\n\t\t\t\thandler?.(match.Error);\r\n\t\t\t})\r\n\t\t});\r\n\r\n\t}\r\n\r\n\t//If the match was found and it's still loading, then...\r\n\tif (match.Status == \"loading\") {\r\n\t\t//Add the success and error handlers to its handler lists and run the loading handler\r\n\t\tonSuccess && match.OnSuccess.push(onSuccess);\r\n\t\tonError && match.OnError.push(onError);\r\n\t\tonLoading?.();\r\n\t}\r\n\t//If the match already loaded, just run the appropriate handler\r\n\telse {\r\n\t\tmatch.Status == \"success\" && onSuccess?.(match.Response);\r\n\t\tmatch.Status == \"error\" && onError?.(match.Error);\r\n\t}\r\n\r\n\treturn match;\r\n}\r\n\r\n//Utility method to get something by URL (either locally or by fetching it), then run a render method\r\nexport function getAndRenderByURL(url, localGraph, fallbackObject, renderMethod) {\r\n\t//If the data is found in the local graph, run the render method\r\n\turl = (url || \"\").replace(\"http://\", \"https://\");\r\n\tvar data = localGraph.filter(m => m[\"@id\"] == url)[0];\r\n\tif (data) {\r\n\t\trenderMethod?.(data);\r\n\t\treturn;\r\n\t}\r\n\t//Otherwise, get the data...\r\n\telse {\r\n\t\tgetResourceByURLWithoutState(url, null,\r\n\t\t\t//On success, run the render method\r\n\t\t\t(response) => {\r\n\t\t\t\trenderMethod?.(response);\r\n\t\t\t},\r\n\t\t\t//On error, run the render method with a fallback object\r\n\t\t\t(error) => {\r\n\t\t\t\tfallbackObject = {\r\n\t\t\t\t\t...(fallbackObject || {}),\r\n\t\t\t\t\t\"request:error\": error\r\n\t\t\t\t};\r\n\t\t\t\trenderMethod?.(fallbackObject);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n//\r\n\r\nexport function getAJAXCacheV2() {\r\n\treturn AJAXCacheV2;\r\n}\r\n//","import React, { ReactNode, useRef, useState, useEffect } from 'react';\r\nimport styled, { DefaultTheme, StyledComponent } from 'styled-components/macro';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\r\nimport { Wrapper, StyledModal, Close, Heading, HeadingText, SubHeading, Body } from './styles';\r\nimport { Button } from '../common';\r\nimport { englishOrNull } from '../GetResourceByURI';\r\nimport { postData } from '../MiniSearch';\r\nimport { apiUrl, appURL } from '../../shared/globals';\r\nimport ActivityIndicator from '../ActivityIndicator';\r\nimport { Outline as OutlineType } from '../../types/external';\r\nimport { Outline } from '../DetailPage/Outline';\r\nimport { getResourceByURLWithoutState } from '../GetResourceByURI';\r\nimport { useGet } from '../../hooks';\r\n\r\n\r\nexport interface ModalButtonAndWindowProps {\r\n\titems: any[];\r\n\tbuttonLabel: string;\r\n\tresourceTitle: string;\r\n\tmodalTitle?: string;\r\n\thideCount?: boolean;\r\n\tContent: (loadedData?: any) => JSX.Element;\r\n\tWrapper?: StyledComponent | undefined\r\n\tButtonContent?: () => JSX.Element;\r\n\tonButtonClick?: () => void;\r\n\tgetDataOnClickFromURL?: string;\r\n\toverrideCount?: number;\r\n}\r\nexport function ModalButtonAndWindow(props: ModalButtonAndWindowProps) {\r\n\tvar OuterWrapper = props.Wrapper || ModalButtonWrapper;\r\n\tconst [isOpen, setIsOpen] = useState(false);\r\n\tconst [loadedData, setLoadedData] = useState(null as any);\r\n\tconst [isLoading, hasError, get] = useGet();\r\n\r\n\tfunction clickInsideModal(e: React.MouseEvent) {\r\n\t\te.stopPropagation();\r\n\t}\r\n\r\n\tfunction loadData() {\r\n\t\tif (props.getDataOnClickFromURL) {\r\n\t\t\tget(props.getDataOnClickFromURL, (result: any) => {\r\n\t\t\t\tsetLoadedData(result);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\treturn (props.items?.length > 0 || props.getDataOnClickFromURL || loadedData) && (\r\n\t\t\r\n\t\t\t setIsOpen(false)}>Close modal window\r\n\t\t\t\r\n\t\t\t{isOpen &&\r\n\t\t\t\t setIsOpen(false)}>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{props.resourceTitle}\r\n\t\t\t\t\t\t\t setIsOpen(false)} aria-label={\"Close modal window\"}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{props.modalTitle || props.buttonLabel}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{props.getDataOnClickFromURL && !loadedData && }\r\n\t\t\t\t\t\t\t{(loadedData || !props.getDataOnClickFromURL) && }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\t setIsOpen(false)}>Close modal window\r\n\t\t\r\n\t) || null\r\n}\r\n\r\nexport interface ModalButtonAndWindowWithRegistrySearchProps extends ModalButtonAndWindowProps {\r\n\tctdlQuery: any,\r\n\tResultRenderer?: (data: any) => JSX.Element,\r\n\thasResultsHandler?: () => void,\r\n\tnoResultsHandler?: () => void\r\n}\r\nexport function ModalButtonAndWindowWithRegistrySearch( props: ModalButtonAndWindowWithRegistrySearchProps ) {\r\n\treturn {\r\n\t\t\treturn {\r\n\t\t\t\tQuery: props.ctdlQuery,\r\n\t\t\t\tSkip: skip,\r\n\t\t\t\tTake: take,\r\n\t\t\t\tUseBetaAPI: true\r\n\t\t\t};\r\n\t\t}}\r\n\t\tgetResultsFromResponse={(response: any) => {\r\n\t\t\treturn response.Result.data;\r\n\t\t}}\r\n\t\tgetTotalResultsFromResponse={(response: any) => {\r\n\t\t\tvar total = response.Result.total;\r\n\t\t\tif (total == 0) {\r\n\t\t\t\tprops.noResultsHandler?.();\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tprops.hasResultsHandler?.();\r\n\t\t\t}\r\n\t\t\treturn total;\r\n\t\t}}\r\n\t/>\r\n}\r\n\r\nexport interface ModalButtonAndWindowWithSearchProps extends ModalButtonAndWindowProps {\r\n\tgetQuery: (skip: number, take: number) => any,\r\n\tgetResultsFromResponse: (response: any) => Array,\r\n\tgetTotalResultsFromResponse: (response: any) => number,\r\n\tqueryURL: string,\r\n\tResultRenderer?: (data: any) => JSX.Element\r\n}\r\nexport function ModalButtonAndWindowWithSearch( props: ModalButtonAndWindowWithSearchProps ) {\r\n\tvar OuterWrapper = props.Wrapper || ModalButtonWrapper;\r\n\tconst [isOpen, setIsOpen] = useState(false);\r\n\tconst [searchState, setSearchState] = useState({\r\n\t\tTotalResults: 0,\r\n\t\tSkip: 0,\r\n\t\tTake: 10,\r\n\t\tBusy: false,\r\n\t\tAllowSearch: true,\r\n\t\tError: null as any\r\n\t});\r\n\tconst [loadedResults, setLoadedResults] = useState([] as Array);\r\n\tconst [renderTrick, setRenderTrick] = useState({ render: true });\r\n\tvar scrollTimer = null as any;\r\n\r\n\tfunction clickInsideModal(e: React.MouseEvent) {\r\n\t\te.stopPropagation();\r\n\t}\r\n\r\n\tvar ResultRenderer = props.ResultRenderer || SimpleResult;\r\n\r\n\tfunction doSearch() {\r\n\t\tconsole.log(\"search entered\");\r\n\t\tif (!searchState.AllowSearch) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconsole.log(\"search begins\");\r\n\t\tsearchState.Busy = true;\r\n\t\tsearchState.AllowSearch = false;\r\n\t\trefreshSearchStateAndResults();\r\n\t\tpostData(\r\n\t\t\tprops.queryURL,\r\n\t\t\tprops.getQuery(searchState.Skip, searchState.Take),\r\n\t\t\t(response: any) => {\r\n\t\t\t\tsetLoadedResults(loadedResults.concat(props.getResultsFromResponse(response)));\r\n\t\t\t\tsearchState.TotalResults = props.getTotalResultsFromResponse(response);\r\n\t\t\t\tsearchState.Skip += searchState.Take;\r\n\t\t\t\tsearchState.Busy = false;\r\n\t\t\t\tif (searchState.Skip < searchState.TotalResults) {\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\tsearchState.AllowSearch = true; //Allow another search if there is another page of results to get\r\n\t\t\t\t\t\trefreshSearchStateAndResults();\r\n\t\t\t\t\t}, 200);\r\n\t\t\t\t}\r\n\t\t\t\trefreshSearchStateAndResults();\r\n\t\t\t},\r\n\t\t\t(error: any) => {\r\n\t\t\t\tsearchState.Error = error;\r\n\t\t\t\trefreshSearchStateAndResults();\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tdoSearch();\r\n\t}, []);\r\n\r\n\tfunction handleScroll(e: any) {\r\n\t\tconsole.log(\"scroll\");\r\n\t\tif (e.target.scrollTop + e.target.clientHeight >= e.target.scrollHeight - 250) {\r\n\t\t\tconsole.log(\"triggered\");\r\n\t\t\tclearTimeout(scrollTimer);\r\n\t\t\tscrollTimer = setTimeout(() => {\r\n\t\t\t\tconsole.log(\"doing search\");\r\n\t\t\t\tdoSearch();\r\n\t\t\t}, 250);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction refreshSearchStateAndResults() {\r\n\t\tsetSearchState(searchState);\r\n\t\tsetRenderTrick({ render: !renderTrick.render });\r\n\t}\r\n\r\n\treturn searchState.TotalResults > 0 && (\r\n\t\t\r\n\t\t\t{searchState.TotalResults > 0 && \r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\t{isOpen &&\r\n\t\t\t\t setIsOpen(false)}>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{props.resourceTitle}\r\n\t\t\t\t\t\t\t setIsOpen(false)} aria-label={\"Close modal window for '\" + props.resourceTitle + \"'\"}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{searchState.TotalResults + \" \" + (props.modalTitle || props.buttonLabel)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{loadedResults.map((result, index) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{searchState.Busy && }\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\r\n\t) || null\r\n}\r\n\r\nexport function SimpleResult(props: { data: any }) {\r\n\tvar type = props.data[\"@type\"];\r\n\tvar ctid = props.data[\"ceterms:ctid\"] || \"\";\r\n\tvar url = appURL + \"/resources/\" + ctid;\r\n\tif (type == \"ceasn:Competency\") {\r\n\t\tvar host = props.data[\"ceasn:isPartOf\"] || props.data[\"ceterms:isMemberOf\"];\r\n\t\turl = appURL + \"/resources/\" + (Array.isArray(host) ? host[0] : host) + \"?competencyCTID=\" + ctid;\r\n\t}\r\n\tvar name = englishOrNull(props.data[\"ceterms:name\"]) || englishOrNull(props.data[\"ceasn:name\"]) || englishOrNull(props.data[\"skos:prefLabel\"]) || englishOrNull(props.data[\"ceasn:competencyLabel\"]) || \"\";\r\n\tvar description = englishOrNull(props.data[\"ceterms:description\"]) || englishOrNull(props.data[\"ceasn:description\"]) || englishOrNull(props.data[\"skos:definition\"]) || englishOrNull(props.data[\"ceasn:competencyText\"]) || \"\";\r\n\treturn (\r\n\t\t\r\n\t\t\t{name && {name}}\r\n\t\t\t{description && {description}}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport function OutlineResult(props: { data: any }) {\r\n\tconst [provider, setProvider] = useState({} as OutlineType);\r\n\tvar ctid = props.data[\"ceterms:ctid\"] || \"\";\r\n\tvar url = appURL + \"/resources/\" + ctid;\r\n\tvar name = englishOrNull(props.data[\"ceterms:name\"]) || englishOrNull(props.data[\"ceasn:name\"]) || englishOrNull(props.data[\"skos:prefLabel\"]) || englishOrNull(props.data[\"ceasn:competencyLabel\"]) || \"\";\r\n\tvar description = englishOrNull(props.data[\"ceterms:description\"]) || englishOrNull(props.data[\"ceasn:description\"]) || englishOrNull(props.data[\"skos:definition\"]) || englishOrNull(props.data[\"ceasn:competencyText\"]) || \"\";\r\n\tvar image = props.data[\"ceterms:image\"] || \"\";\r\n\tvar providerURLRaw = [props.data[\"ceterms:ownedBy\"], props.data[\"ceterms:offeredBy\"], props.data[\"ceasn:creator\"], props.data[\"ceasn:publisher\"], [\"\"]].filter(m => m && m.length > 0)[0] || [\"\"];\r\n\tvar providerURL = Array.isArray(providerURLRaw) ? providerURLRaw[0] : providerURLRaw;\r\n\r\n\tuseEffect(() => {\r\n\t\tif (providerURL && providerURL.length > 0) {\r\n\t\t\tgetResourceByURLWithoutState(providerURL, null, (response: any) => {\r\n\t\t\t\tsetProvider({\r\n\t\t\t\t\tLabel: englishOrNull(response[\"ceterms:name\"]),\r\n\t\t\t\t\tURL: appURL + \"/resources/\" + response[\"ceterms:ctid\"]\r\n\t\t\t\t} as OutlineType);\r\n\t\t\t});\r\n\t\t}\r\n\t}, []);\r\n\r\n\tvar item = {\r\n\t\tLabel: name,\r\n\t\tDescription: description,\r\n\t\tImage: image,\r\n\t\tURL: url,\r\n\t\tProvider: provider\r\n\t} as OutlineType;\r\n\t\r\n\treturn (\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst SimpleResultWrapper = styled.div`\r\n\tpadding: 10px 0;\r\n\tborder-top: 1px solid #CCC;\r\n`;\r\n\r\nconst SimpleName = styled.a`\r\n\tdisplay: block;\r\n\tfont-weight: bold;\r\n`;\r\n\r\nconst SimpleDescription = styled.div`\r\n\tpadding: 0 5px;\r\n`;\r\n\r\nconst ActivityWrapper = styled.div`\r\n\tmin-height: 100px;\r\n\tpadding: 10px;\r\n\ttext-align: center;\r\n`;\r\n\r\nconst ModalButtonWrapper = styled.div`\r\n\tmargin-bottom: 10px;\r\n`;\r\n\r\nconst InvisibleButton = styled.button`\r\n\topacity: 0;\r\n\theight: 0;\r\n\toverflow: hidden;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\twidth: 0;\r\n\tborder: none;\r\n`;","import React from 'react';\r\nimport {\r\n Assessment,\r\n Credential,\r\n LearningOpportunity,\r\n Organization,\r\n} from '../../types/external';\r\nimport { Box, BoxLabel, BoxContent } from './Shared';\r\nimport JurisdictionProfileList from './JurisdictionProfile';\r\n\r\n\r\nexport default function JurisdictionAssertions(props: { item: Organization | Assessment | LearningOpportunity | Credential }) {\r\n return (\r\n\t\t
    \r\n\t\t\t{props.item.AccreditedIn &&\r\n\t\t\t\t\r\n\t\t\t\t\tAccredited In\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\t{props.item.ApprovedIn &&\r\n\t\t\t\t\r\n\t\t\t\t\tApproved In\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\t{props.item.OfferedIn &&\r\n\t\t\t\t\r\n\t\t\t\t\tOffered In\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\t{props.item.RecognizedIn &&\r\n\t\t\t\t\r\n\t\t\t\t\tRecognized In\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\t{props.item.RegulatedIn &&\r\n\t\t\t\t\r\n\t\t\t\t\tRegulated In\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n
    \r\n );\r\n}\r\n","import React from 'react';\r\nimport { ModalType } from '../../types/internal';\r\nimport { Organization, Credential, Assessment, LearningOpportunity } from '../../types/external';\r\nimport PageSection from '../PageSection';\r\nimport PageSectionItem from '../PageSectionItem';\r\nimport qaIcon from '../../assets/images/icons/icon-quality-assurance-blue-green-01.svg';\r\nimport { Section } from './styles';\r\nimport { ModalButtonAndWindow } from '../Modal';\r\nimport OutlineList from './Outline';\r\nimport HasAnyFilled from '../HasAnyFilled';\r\nimport JurisdictionAssertions from './JurisdictionAssertions';\r\nimport SearchPills from '../SearchPills';\r\nimport { isOrganization } from '../../utils';\r\nimport { isFilled } from '../../validation';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport { Label } from './styles';\r\n\r\ninterface Props {\r\n\titem: Credential | Assessment | LearningOpportunity | Organization;\r\n openedModal?: ModalType;\r\n onOpenModalClick: (modalType: ModalType) => () => void;\r\n\tonCloseModalClick: () => void;\r\n\tpageSectionDescription?: string;\r\n}\r\n\r\nexport default function QualityAssurancePageSection(props: Props) {\r\n\tvar mergedJurisdictionAssertions = [\r\n\t\tprops.item.AccreditedIn,\r\n\t\tprops.item.ApprovedIn,\r\n\t\tprops.item.RecognizedIn,\r\n\t\tprops.item.RegulatedIn,\r\n\t\tprops.item.OfferedIn\r\n\t].filter((item) => { return item ? true : false }).flatMap((item) => { return item });\r\n\r\n return (\r\n \r\n\t\t\t\r\n\t\t\t\t{(props.item.QAReceived?.length > 0 || props.item.OwnerQAReceived?.length > 0 || mergedJurisdictionAssertions?.length > 0) &&\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n {isOrganization(props.item) && isFilled(props.item.QAPerformed) && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n )}\r\n \r\n \r\n );\r\n}\r\n","export default __webpack_public_path__ + \"static/media/icon-additional-information-blue-green-01.df49653f.svg\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAB1UExURQQEBNDQ0Pf4+RQUFGRkZMDAwN/f3////wAAAAxHnD09PW5ubnx8fObo6hxTo6CgoDAwMDlpr096uO3w9HubykpKSouLiyEhIampqcfV6MnJyZWVlVRUVAQEBLOzswsLC2OJwLfI4tfh75Ks09jY2F5eXqe93A4kHBwAAAABdFJOU/WNMd71AAADiklEQVRYw82XeZerLAyHR1wQxX3fu9j5/h/xTUArjti5tz3nPZc/pnZIHoH8EtIv97Px9eWOzgejBoBBPxj2T0AbcevR13rrrn9YPJpfALpKbozrAZacjcczgL+ezGuA60Z6wIxzQ+GXZXuy4ZL7HhqZRAvgODX/emwDmNVaQHG2eJKnSXrPlm8P1WwHiGFm1Phfw/x2y5Pktpw0mPVaAIZAI4pb2NALgxHKNYxgVmgBJsw4R0B6pzRBAMulD5h5p4Dg4J8xck+FPwvfAjRJw9ZB3gKE+WeAnF1W/+SXLUw6AKw/XAH31wCCIiU//O9sG6n8lwFmlQ7gwMQkH4NGiqbB409zGYTLAg82uz0gWsnXhCVheLlj9ECE4iDhAJ6LGxTBqQBUsi9Wfc+a5a1Jtp4k+6ZqzvQ/AcRG/8HAU2voGrh0feuVsdsTgFp2+1kB8NgUdWLAVLqAYJfAXZ4+AWOZUrikdRV3C0BWmoFjDEnY5MmygOvmEzI1Po6/Vi4V4JocjAgLnnFTAOoWaOZPe4AxRlyUqgIIinJ3W9gOMYuFLY/GWY1CPchqeUk36dwVPeZ0V/raYxgtKdEbU8W3hTGhauHpNDpoESwq2JI6aYJCCmQUNyXuJK8CUKKuqGGXVYH4hFIOUVrJoipnedExG4dnNpKMPKsBVqIbTbd0xpXGf14PskQEQErj+52CQsKQrNJK3wHQPLnuStJfA66btN4DZCzdCes1QHOx0HQtiuHtNQAVZuvu1nSXXNHp1eap9/aRkCzJWYKZpQVYKvrHOXxfG10q7AG4Ntefyav2grRYETefHYAsLZZZlXpvXi2FxDtpslrzz5qsyjlr87LSm34DmEVHXjSakNWz0Tp6gNMac/BLp/pOq9tbH4xi+HI/7ff/QcAihsH8a0AMeTJ1Dtxc0EFEhAYW3jQ+Joi8C01au7IHILN/AvApL2zag2P0aMVnZh4BpdWKpNQAbDK5VVmYWDZMaIciSqIjoMfKY2oBPZ3x6vXEBWgQAJQ01gFKUT6OALcYacDhnVyUJwBURguAoa5rTwXwMwB82NTzRBcyZwjwaA2AcRx3gEj0VBsgbn1YPp9IK9Y/EWcAoI0AvPMPWzCDbNoBzCzrHBKD8cgNqCycOhER3yuYewKcrut6n441ET9c1C3EZVvCogbfNjrc3cM2avjObROfewmwcfg9/Om8fzkX/m/Af7MOji5S3wumAAAAAElFTkSuQmCC\"","import React, { useState, useEffect } from 'react';\r\nimport { render } from 'react-dom';\r\nimport styled from 'styled-components/macro';\r\nimport jsonLDIcon from '../../assets/images/icons/icon-jsonld.png';\r\nimport { useGet } from '../../hooks';\r\nimport { ModalType } from '../../types/internal';\r\nimport { isFilled } from '../../validation';\r\nimport LoadingOrError from '../LoadingOrError';\r\nimport { ModalButtonAndWindow } from '../Modal';\r\nimport { VStack } from '../Stack';\r\nimport LinkObject from './LinkObject';\r\nimport {\r\n Inline,\r\n InlineLabel,\r\n Label,\r\n} from './styles';\r\nimport { Button } from '../common';\r\nimport ActivityIndicator from '../ActivityIndicator';\r\n\r\ninterface Props {\r\n\titem: any;\r\n}\r\n\r\nexport default function JSONLinkedDataModal({ item }: Props) {\r\n const [isLoading, hasError, get] = useGet();\r\n\tconst [JSONLinkedData, setJSONLinkedData] = useState();\r\n\tconst [modalIsOpen, setModalIsOpen] = useState(false);\r\n\r\n\tfunction getJSONLinkedData(tries: number) {\r\n\t\tif (item?.RegistryData?.Resource?.URL && tries >= 0) {\r\n\t\t\tget(item.RegistryData.Resource.URL, (data: any) => {\r\n\t\t\t\tsetJSONLinkedData(data);\r\n\t\t\t\tsetModalIsOpen(true);\r\n\t\t\t});\r\n\t\t}\r\n\t\telse {\r\n\t\t\tconsole.log(\"retrying\", tries);\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tgetJSONLinkedData(tries - 1);\r\n\t\t\t}, 100);\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (item.RegistryData) {\r\n\t\t\tgetJSONLinkedData(10);\r\n\t\t}\r\n\t}, [item])\r\n\r\n\treturn (!item.RegistryData || !isFilled(item.RegistryData)) ? null : (\r\n
    \r\n \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t>\r\n\t\t\t\t (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{item.RegistryData && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    Registry Data
    \r\n\t\t\t\t\t\t\t\t\t\"JSON-LD\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{!item.RegistryData && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\"JSON-LD\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\thideCount={true}\r\n\t\t\t\t\tresourceTitle={item.Name}\r\n\t\t\t\t\tmodalTitle=\"Registry Data\"\r\n\t\t\t\t\tContent={() => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{item.RegistryData && item.RegistryData.CTID && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tCTID:\r\n\t\t\t\t\t\t\t\t\t
    {item.CTID}
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{item.RegistryData && item.RegistryData.Envelope && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{item.RegistryData && item.RegistryData.Resource && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{JSONLinkedData && (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t{JSON.stringify(JSONLinkedData, null, 4)}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t/>\r\n \r\n
    \r\n );\r\n}\r\n\r\nconst JSONLDIconButton = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tpadding: 1px;\r\n\tmin-height: 40px;\r\n\r\n\t& div {\r\n\t\tflex: 1 1 auto;\r\n\t}\r\n\r\n\t& img {\r\n\t\twidth: 50px;\r\n\t\theight: 50px;\r\n\t}\r\n`;","import React, { useState } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport additionalInfoIcon from '../../assets/images/icons/icon-additional-information-blue-green-01.svg';\r\nimport PageSection from '../PageSection';\r\nimport PageSectionItem from '../PageSectionItem';\r\nimport JSONLinkedDataModal from './JSONLinkedDataModal';\r\nimport { Label, Inline, InlineLabel } from './styles';\r\nimport { SectionContent } from './Shared';\r\nimport { Link } from '../../types/external';\r\nimport { PlainTextLink } from './LinkObject';\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faCopy } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nexport default function AdditionalInformationPageSection(props: { item: any, pageSectionDescription?: string }) {\r\n\tconst [copied, setCopied] = useState(false);\r\n\tconst copyToClipboard = (ctid: string) => {\r\n\t\tnavigator.clipboard.writeText(ctid);\r\n\t\tsetCopied(true);\r\n\t\tsetTimeout(() => setCopied(false), 4000); \r\n\t };\r\n\treturn ( props.item &&\r\n\t\r\n\t\t\r\n\t\t\t{false && }\r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t copyToClipboard(props.item.CTID)}\r\n\t\t\t\tstyle={{\r\n\t\t\t\tbackground: \"none\",\r\n\t\t\t\tborder: \"none\",\r\n\t\t\t\tcursor: \"pointer\",\r\n\t\t\t\tcolor: \"#0A2942\",\r\n\t\t\t\tmarginLeft: \"8px\",\r\n\t\t\t\t}}>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{copied && (\r\n\t\t\t\t\t\r\n\t\t\t\t\tCTID Copied!\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t{props.item.VersionIdentifier && }\r\n\t\t\t{props.item.VersionIdentifier && <>\r\n\t\t\t\t{typeof (props.item.VersionIdentifier) == \"string\" && }\r\n\t\t\t\t{Array.isArray(props.item.VersionIdentifier) && props.item.VersionIdentifier.map((identifier: any, index: number) => (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{(typeof (identifier) == \"string\" && identifier.toLowerCase().includes(\"http\")) && }\r\n\t\t\t\t\t\t{(typeof (identifier) == \"string\" && !identifier.toLowerCase().includes(\"http\")) && }\r\n\t\t\t\t\t\t{(typeof (identifier) == \"object\") &&\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{identifier.IdentifierType && identifier.IdentifierType.startsWith('http') && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t}\r\n\t\t\t{props.item.Identifier && <>\r\n\t\t\t\t{typeof (props.item.Identifier) == \"string\" && }\r\n\t\t\t\t{Array.isArray(props.item.Identifier) && props.item.Identifier.map((identifier: any) => (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{(typeof (identifier) == \"string\" && identifier.toLowerCase().includes(\"http\")) && }\r\n\t\t\t\t\t\t{(typeof (identifier) == \"string\" && !identifier.toLowerCase().includes(\"http\")) && }\r\n\t\t\t\t\t\t{(typeof (identifier) == \"object\") &&\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{identifier.IdentifierType && identifier.IdentifierType.startsWith('http') && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\t}\r\n\t\t\t
    \r\n\t\t
    \r\n\t\t{(props.item.Meta_LastUpdated || props.item.FoundingDate || props.item.DateEffective || props.item.ExpirationDate || props.item.StartDate || props.item.EndDate) &&\r\n\t\t\t\r\n\t\t\t\t{false && }\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/**/}\r\n\t\t\t\t\t\t{/**/}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\t{(props.item.AlternateName?.length > 0 || props.item.InLanguage?.length > 0 || props.item.License?.length > 0 || props.item.Rights?.length > 0 || props.item.HasScope?.length>0) &&\r\n\t\t\t\r\n\t\t\t\t{false && }\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/**/}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\t{/*{(props.item.LatestVersion?.URL || props.item.PreviousVersion?.URL || props.item.NextVersion?.URL || props.item.Supersedes?.URL || props.item.SupersededBy?.URL) &&*/}\r\n\t\t{/*\t*/}\r\n\t\t{/*\t\t{false && }*/}\r\n\t\t{/*\t\t\t*/}\r\n\t\t{/*\t\t\t\t*/}\r\n\t\t{/*\t\t\t\t*/}\r\n\t\t{/*\t\t\t\t*/}\r\n\t\t{/*\t\t\t\t*/}\r\n\t\t{/*\t\t\t\t*/}\r\n\t\t{/*\t\t\t*/}\r\n\t\t{/*\t*/}\r\n\t\t{/*}*/}\r\n\t\t\r\n\t\t\t{false && }\r\n\t\t\t\r\n\t\t\r\n\t
    \r\n\t) || null\r\n}\r\n\r\nfunction TextItem(props: { label: string, item: string }) {\r\n\treturn (props.item &&\r\n\t\t\r\n\t\t\t{props.label}\r\n\t\t\t
    {props.item}
    \r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nfunction LinkItem(props: { label: string, item: any }) {\r\n\tif (!props.item) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvar link = typeof (props.item) == \"string\" ? ({ Label: props.item, URL: props.item } as Link) : (props.item as Link);\r\n\treturn (link.URL &&\r\n\t\t\r\n\t\t\t{props.label}\r\n\t\t\t\r\n\t\t\r\n\t) || null\r\n}\r\n\r\nconst InfoSection = styled(PageSectionItem)`\r\n\tpadding: 0;\r\n`;\r\n","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Outline } from '../../types/external';\r\nimport { getLinkType } from '../../utils';\r\n\r\ninterface Props {\r\n outline: Outline;\r\n}\r\nexport default function TextLink({ outline }: Props) {\r\n const linkType = getLinkType(outline.URL);\r\n\r\n switch (linkType) {\r\n case 'external':\r\n return (\r\n \r\n {outline.Label}\r\n \r\n );\r\n case 'internal':\r\n return {outline.Label};\r\n case 'none':\r\n return <>{outline.Label};\r\n }\r\n}\r\n","import styled from 'styled-components/macro';\r\n\r\nexport const Body = styled.div`\r\n padding: 10px;\r\n border: ${(p) => `1px solid ${p.theme.color.aquaDark}`};\r\n`;\r\n\r\nexport const Heading = styled.div`\r\n padding: 10px;\r\n background-color: ${(p) => p.theme.color.aquaDark};\r\n`;\r\n\r\nexport const Description = styled.div`\r\n margin-bottom: 10px;\r\n`;\r\n\r\nexport const Section = styled.div`\r\n margin-bottom: 10px;\r\n\r\n &:last-of-type {\r\n margin-bottom: 0;\r\n }\r\n`;\r\n\r\nexport const Type = styled.span`\r\n padding: 10px;\r\n background-color: ${(p) => p.theme.color.aquaLight};\r\n display: inline-block;\r\n`;\r\n","import React from 'react';\r\nimport styled from 'styled-components/macro';\r\n\r\nexport interface Props {\r\n\tFromDate?: string;\r\n\tToDate?: string;\r\n\tBothDatesPreText?: string;\r\n\tBothDatesMidText?: string;\r\n\tFromOnlyPreText?: string;\r\n\tToOnlyPreText?: string;\r\n}\r\nexport default function DateRange(props: Props) {\r\n\t//Can't set default values on props directly because TS complains, so use some extra variables\r\n\tvar bothDatesPreText = props.BothDatesPreText || \"Data Set Start Date\";\r\n\tvar bothDatesMidText = props.BothDatesMidText || \"Data Set End Date\";\r\n\tvar fromOnlyPreText = props.FromOnlyPreText || \"Data Set Start Date\";\r\n\tvar toOnlyPreText = props.ToOnlyPreText || \"Data Set End Date\";\r\n\r\n\treturn (\r\n\t\t(props.FromDate && props.ToDate && {bothDatesPreText}{props.FromDate}{bothDatesMidText}{props.ToDate}) ||\r\n\t\t(props.FromDate && !props.ToDate && {fromOnlyPreText}{props.FromDate}) ||\r\n\t\t(!props.FromDate && props.ToDate && {toOnlyPreText}{props.ToDate}) ||\r\n\t\tnull\r\n\t)\r\n}\r\n\r\nconst DateRangeSet = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\r\n\t& > *:not(:last-child) {\r\n\t\tmargin-right: 0.8em;\r\n\t}\r\n`;","import React, { ReactElement, ReactNode } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { CostProfile as CostProfileType, CostItem as CostItemType } from '../../types/external';\r\nimport { Box, BoxLabel, BoxContent, Section, SectionLabel, SectionContent, SectionContentItem } from './Shared';\r\nimport DateRange from './DateRange';\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport { formatPrice } from '../../utils';\r\nimport LinkObject from './LinkObject';\r\n\r\nexport default function CostProfileList(props: { items: CostProfileType[] }) {\r\n\treturn (props.items?.length > 0 && \r\n\t\t
    \r\n\t\t{props.items.map((item) => (\r\n\t\t\t\r\n\t\t))}\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nexport function CostProfile(props: { item: CostProfileType }) {\r\n\treturn (props.item && \r\n\t\t\r\n\t\t\t
    {props.item.Name || \"Cost Information\"}
    \r\n\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    {props.item.Description}
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t{props.item.Condition?.length > 0 &&\r\n\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t{props.item.Condition.map((condition) => (\r\n\t\t\t\t\t\t\t\t
    • {condition}
    • \r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t}\r\n\t\t\t\t
    \r\n\t\t\t\t{props.item.CostDetails && }\r\n\t\t\t
    \r\n\t\t\t{props.item.CostItems?.length > 0 &&\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nexport function CostItemList(props: { items: CostItemType[], currencySymbol: string }) {\r\n\treturn (props.items?.length > 0 &&\r\n\t\t
    \r\n\t\t{props.items.map((item) => (\r\n\t\t\t\r\n\t\t))}\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nexport function CostItem(props: { item: CostItemType, currencySymbol: string }) {\r\n\treturn (props.item && \r\n\t\t\r\n\t\t\t } />\r\n\t\t\t } />\r\n\t\t\t } />\r\n\t\t\t
    {data}
    } />\r\n\t\t\t{formatPrice(props.item.Price, props.currencySymbol)}\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nconst CostProfileWrapper = styled.div`\r\n\t\r\n`;\r\n\r\nconst BasicInfo = styled.div`\r\n\tdisplay: flex;\r\n\tmargin-bottom: 5px;\r\n\r\n\t& > div {\r\n\t\tflex: 1 1 auto;\r\n\t}\r\n\r\n\t& > a {\r\n\t\tmargin-left: 10px;\r\n\t}\r\n`;\r\n\r\nconst CostItemWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\talign-items: baseline;\r\n\tpadding: 2px 10px;\r\n\tborder-top: 1px dashed #CCC;\r\n\r\n\t& > *:not(:last-child) {\r\n\t\tmin-width: 10%;\r\n\t\tmargin-right: 10px;\r\n\t}\r\n`;\r\n\r\nconst Price = styled.div`\r\n\tfont-size: 16px;\r\n\tfont-weight: bold;\r\n\tmargin-left: auto;\r\n\tpadding: 0 10px;\r\n`;","import React from 'react';\r\nimport { VerificationServiceProfile as ProfileType } from '../../types/external';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\n\r\nimport { Body, Description, Heading } from './styles';\r\nimport { Label, Section } from '../../components/DetailPage/styles';\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport { isFilled } from '../../validation';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport TextLink from '../TextLink';\r\nimport CostProfileList from '../DetailPage/CostProfile';\r\nimport LinkObject from '../DetailPage/LinkObject';\r\nimport { widgetGetPluralLabelForText } from \"../../utils/SiteWidgetizer\";\r\n\r\ninterface Props { \r\n profile: ProfileType;\r\n}\r\n\r\nexport default function VerificationServiceProfile({ profile }: Props) {\r\n\tif (!profile || !isFilled(profile)) {\r\n\t\treturn null;\r\n\t}\r\n return (\r\n
    \r\n \r\n {profile.Description}\r\n {profile.SubjectWebpage && (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{profile.SubjectWebpage && }\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t\t{profile.OfferedBy && (\r\n

    \r\n Offered By: \r\n \r\n

    \r\n )}\r\n\t\t\t\t{profile.DateEffective && (\r\n
    \r\n
    Date Effective: {profile.DateEffective}
    \r\n
    \r\n \t)}\r\n\t\t\t\t{profile.EstimatedCost && (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    Estimated Costs
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t
    \t\t\r\n\t\t\t\t)}\r\n\r\n \r\n\t\t\t\t{profile.VerifiedClaimType && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{isFilled(profile.OfferedIn) && (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{profile.OfferedIn.map(\r\n\t\t\t\t\t\t\t(property, index) => (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t{property.Description && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{property.Description}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{property.GlobalJurisdiction && (\r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    This property is global.
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{property.AssertedBy && (\r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\tAsserted By: \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{property.MainJurisdiction && (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    {property.MainJurisdiction.Name}
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{property.JurisdictionException && (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t{property.JurisdictionException.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(place) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{place.Name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t

    \t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t\t{isFilled(profile.Jurisdiction) && (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{profile.Jurisdiction.map(\r\n\t\t\t\t\t\t\t(jurisdiction, index) => (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t{jurisdiction.Description && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{jurisdiction.Description}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{jurisdiction.GlobalJurisdiction && (\r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    This jurisdiction is global.
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{jurisdiction.AssertedBy && (\r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\tAsserted By: \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{jurisdiction.MainJurisdiction && (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    {jurisdiction.MainJurisdiction.Name}
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{jurisdiction.JurisdictionException && (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t{jurisdiction.JurisdictionException.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(place) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{place.Name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t\t{profile.HolderMustAuthorizeLabel && (\r\n\t\t\t\t\t
    \t\t\t\t\r\n\t\t\t\t\t\t\r\n \t
    {profile.HolderMustAuthorizeLabel}
    \r\n\t\t\t\t\t
    \t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{profile.VerificationDirectory && profile.VerificationDirectory.URL && (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{profile.VerificationDirectory && }\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t\t{profile.VerificationMethodDescription && (\r\n\t\t\t\t\t
    \t\t\t\t\r\n\t\t\t\t\t\t{profile.VerificationMethodDescription}\r\n\t\t\t\t\t
    \t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{profile.VerificationService && profile.VerificationService.URL && (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{profile.VerificationService && }\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t{profile.TargetCredential && profile.TargetCredential.Values && (\r\n\t\t\t\t\t
    \t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n \r\n
    \r\n );\r\n}\r\n","import React from 'react';\r\nimport { VerificationServiceProfile as ProfileType } from '../../types/external';\r\nimport VerificationServiceProfile from '../VerificationServiceProfile';\r\n\r\ninterface Props {\r\n profiles: Array;\r\n}\r\n\r\nexport default function Profiles({ profiles }: Props) {\r\n if (profiles == null || profiles.values == null) {\r\n return null;\r\n }\r\n return (\r\n
    \r\n {profiles.map((profile, index) => (\r\n \r\n ))}\r\n
    \r\n );\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport styled from 'styled-components/macro';\r\n\r\ninterface Props {\r\n\titems: TabItem[];\r\n\tactiveIndex: number;\r\n}\r\n\r\nexport interface TabItem {\r\n\tLabel: string;\r\n\tContent: JSX.Element | null;\r\n}\r\n\r\nexport function TabSetOrSingle(props: Props) {\r\n\tvar validItems = props.items?.filter(m => m != null && m.Content != null) || [];\r\n\tif (validItems.length == 1) {\r\n\t\treturn (\r\n\t\t\t<>{validItems[0].Content}\r\n\t\t)\r\n\t}\r\n\telse if (validItems.length > 1) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\telse {\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\nexport default function TabSet(props: Props) {\r\n\tconst [activeIndex, setActiveIndex] = useState(props.activeIndex);\r\n\r\n\tfunction switchTab(index: number) {\r\n\t\tsetActiveIndex(index);\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tsetActiveIndex(props.activeIndex || 0);\r\n\t}, [props.activeIndex]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tprops.items.map((item, index) =>\r\n\t\t\t\t\t\t\t switchTab(index)}\r\n\t\t\t\t\t\t\t\tclassName={index == activeIndex ? \"currentTab\" : \"\"}\r\n\t\t\t\t\t\t\t\tkey={'tab-button-' + index}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{item.Label}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{props.items.map((item, index) =>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{item.Content}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst TabSetWrapper = styled.div`\r\n\t\r\n`;\r\n\r\nconst TabButtonsWrapper = styled.div`\r\n\toverflow-x: auto;\r\n\tmargin-bottom: 10px;\r\n`;\r\n\r\nconst TabButtons = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: stretch;\r\n\tborder-bottom: 1px solid ${(p) => p.theme.color.aquaDark};\r\n`;\r\n\r\nconst TabButton = styled.button`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: flex-end;\r\n\tfont-size: 16px;\r\n\tpadding: 12px;\r\n\tmargin: 0 5px;\r\n\tmin-width: 150px;\r\n\talign-items: center;\r\n\tbackground-color: ${(p) => p.theme.color.aquaLight};\r\n\tborder: none;\r\n\tcolor: ${(p) => p.theme.color.blueDark};\r\n\tfont-weight: 500;\r\n\tborder-radius: 3px 3px 0 0;\r\n\r\n\t& :hover, & :focus {\r\n\t\tbackground-color: ${(p) => p.theme.color.aquaDark};\r\n\t}\r\n\r\n\t&.currentTab {\r\n\t\tborder-bottom: 2px solid #000;\r\n\t\tmargin-bottom: -1px;\r\n\t\ttext-shadow: 0 0 #000;\r\n\t\tpadding-bottom: 11px;\r\n\t\tbackground-color: ${(p) => p.theme.color.aquaDark};\r\n\t}\r\n\r\n`;\r\n\r\nconst TabContents = styled.div`\r\n\tposition: relative;\r\n`;\r\n\r\n//Have to use weird transform tricks instead of display: none because react will wipe out divs in hidden tabs otherwise\r\nconst Tab = styled.div`\r\n\t&:not(.currentTab) {\r\n\t\tposition: absolute;\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\ttransform: rotateY(90deg);\r\n\t\ttransform-origin: left center;\r\n\t}\r\n`;","import React from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { CostManifest as CostManifestType } from '../../types/external';\r\nimport { Box, BoxLabel, BoxContent, Section, SectionLabel, SectionContent, SectionContentItem } from './Shared';\r\nimport DateRange from './DateRange';\r\nimport { TabSetOrSingle } from './TabSelector';\r\nimport { CostProfile } from './CostProfile';\r\nimport LinkObject from './LinkObject';\r\n\r\nexport default function CostManifestList(props: { items: CostManifestType[] }) {\r\n\treturn ( props.items?.length > 0 &&\r\n\t\t
    \r\n\t\t{props.items.map((item) => (\r\n\t\t\t\r\n\t\t))}\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nexport function CostManifest(props: { item: CostManifestType }) {\r\n\treturn ( props.item &&\r\n\t\t\r\n\t\t{props.item.Name || \"Common Costs\"}\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{props.item.Description &&
    {props.item.Description}
    }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{props.item.CostDetails && }\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t{props.item.EstimatedCost?.length > 0 &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tApplicable Cost Information\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t\tLabel: item.Name || \"Cost Data \" + (itemIndex + 1),\r\n\t\t\t\t\t\t\t\t\tContent: \r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t
    \r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nconst BasicInfo = styled.div`\r\n\tdisplay: flex;\r\n\r\n\t& > div {\r\n\t\tflex: 1 1 auto;\r\n\t}\r\n\r\n\t& > a {\r\n\t\tmargin-left: 10px;\r\n\t}\r\n`;","import React from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { ValueProfile as ValueProfileType } from '../../types/external';\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport { Box, BoxContent, Section, SectionContent, SectionContentItem } from './Shared';\r\n\r\nexport default function ValueProfileList(props: { items: ValueProfileType[] }) {\r\n\treturn (props.items?.length > 0 &&\r\n\t\t
    \r\n\t\t{props.items.map((item) => (\r\n\t\t\t\r\n\t\t))}\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nexport function ValueProfile(props: { item: ValueProfileType }) {\r\n\tif (!props.item) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvar valueText = [\r\n\t\t(props.item.Value && props.item.Value + \" Credit\" + (props.item.Value == 1 ? \"\" : \"s\")),\r\n\t\t((props.item.MinValue && props.item.MaxValue) && (props.item.MinValue + \" to \" + props.item.MaxValue + \" Credits\")),\r\n\t\t(props.item.MinValue && !props.item.MaxValue && \"At least \" + props.item.MinValue + \" Credit\" + (props.item.MinValue == 1 ? \"\" : \"s\")),\r\n\t\t(props.item.MaxValue && !props.item.MinValue && \"Up to \" + props.item.MaxValue + \" Credit\" + (props.item.MaxValue == 1 ? \"\" : \"s\")),\r\n\t\t(props.item.Percentage && ((props.item.Value || props.item.MinValue || props.item.MaxValue) ? \"(\" + props.item.Percentage + \"%)\" : props.item.Percentage + \"% Credit\"))\r\n\t].filter(m => m).join(\" \");\r\n\r\n\treturn (props.item &&\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\t{props.item.Description &&
    {props.item.Description}
    }\r\n\t\t\t\t
    {data}
    } />\r\n\t\t\t\t } />\r\n\t\t\t\t } />\r\n\t\t\t\t } />\r\n\t\t\t
    \r\n\t\t
    \r\n\t) || null\r\n}\r\n","import React, { useRef, useEffect, useState } from 'react';\r\nimport { renderToString } from 'react-dom/server';\r\nimport styled from 'styled-components/macro';\r\nimport { appURL, registryURL } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport ActivityIndicator from '../ActivityIndicator';\r\n\r\nexport interface PreloadedResource {\r\n\tURL: string,\r\n\tData: any\r\n}\r\n\r\nexport interface ResourceWrapper {\r\n\tURL: string,\r\n\tData?: any,\r\n\tError?: any,\r\n\tOnSuccess?: Array<(data: any) => void>,\r\n\tOnError?: Array<(data: any) => void>\r\n}\r\n\r\nexport default function AJAXResourceList(props: {\r\n\turls: Array,\r\n\tresources?: Array,\r\n\tonSuccess?: (data: any, itemContainer: Element, itemList?: Element) => void,\r\n\tonError?: (data: any, itemContainer: Element, itemList?: Element) => void,\r\n\tStyleComponent?: () => JSX.Element,\r\n}) {\r\n\t//Initialize\r\n\tconst [listID, setListID] = useState(\"\");\r\n\tif (!listID) {\r\n\t\tsetListID((crypto as any).randomUUID() as string);\r\n\t}\r\n\r\n\t//Kick off the render process\r\n\tuseEffect(() => {\r\n\t\tsetupRenderedContainer();\r\n\t}, []);\r\n\r\n\t//Get the rendered container by brute force because react sucks, then render stuff\r\n\tfunction setupRenderedContainer() {\r\n\t\tvar itemList = document.getElementById(listID);\r\n\t\tif (!itemList) {\r\n\t\t\tsetTimeout(setupRenderedContainer, 100);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (!itemList.classList.contains(\"setup\")) {\r\n\t\t\t\titemList.classList.add(\"setup\");\r\n\t\t\t\tsetupAJAXResourceList(itemList, props.urls, props.resources, props.onSuccess, props.onError);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t//Return the div\r\n\treturn props.urls && props.urls.length > 0 && (\r\n\t\t<>\r\n\t\t\t{props.StyleComponent && }\r\n\t\t\t\r\n\t\t\r\n\t) || null;\r\n}\r\n\r\nexport function setupAJAXResourceList(\r\n\titemList: Element,\r\n\turls: Array,\r\n\tresources?: Array,\r\n\tonSuccess?: (data: any, itemContainer: Element, itemList?: Element) => void,\r\n\tonError?: (data: any, itemContainer: Element, itemList?: Element) => void,\r\n) {\r\n\t//Validation\r\n\tif (!itemList || !urls || urls.length == 0) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t//Flag the list\r\n\titemList.classList.add(\"ajaxResourceList\");\r\n\r\n\t//Variables\r\n\tvar cacheV3 = getAJAXCacheV3();\r\n\tvar listItemBoxes = [] as Array;\r\n\tvar listeners = [] as any;\r\n\r\n\t//Store resources that are already obtained\r\n\tif (resources && resources.length > 0) {\r\n\t\tresources.forEach(resource => {\r\n\t\t\tappendAJAXCacheV3Resource(resource);\r\n\t\t});\r\n\t}\r\n\r\n\t//Pre-create each URL's container so that they show up in order\r\n\turls.forEach(url => {\r\n\t\tvar box = document.createElement(\"div\");\r\n\t\tbox.classList.add(\"resourceListItem\");\r\n\t\tbox.dataset.url = url;\r\n\t\titemList.appendChild(box);\r\n\t\tbox.innerHTML = renderToString();\r\n\t\tlistItemBoxes.push(box);\r\n\t});\r\n\r\n\t//Check for scrollable parents, up to and including the window, and bind scroll handlers\r\n\tvar listeningScrollableElements = [] as Array;\r\n\tvar scrollableProperties = [\"overflow\", \"overflowX\", \"overflowY\"];\r\n\r\n\taddScrollHandlerToScrollableElements(itemList);\r\n\r\n\tfunction addScrollHandlerToScrollableElements(element: any) {\r\n\t\tif (element == document || element == window) {\r\n\t\t\taddScrollHandler(window as any);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telse {\r\n\t\t\ttry { //For some reason, react still causes this to be called once in a while, and it crashes the entire page, so wrap it in a try-catch\r\n\t\t\t\tvar style = getComputedStyle(element) as any;\r\n\t\t\t\tscrollableProperties.forEach(property => {\r\n\t\t\t\t\tif ((style[property] == \"auto\" || style[property] == \"scroll\") && !listeningScrollableElements.includes(element)) {\r\n\t\t\t\t\t\tlisteningScrollableElements.push(element);\r\n\t\t\t\t\t\taddScrollHandler(element);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\taddScrollHandlerToScrollableElements(element.parentNode);\r\n\t\t\t}\r\n\t\t\tcatch (e) {}\r\n\t\t}\r\n\t}\r\n\r\n\t//Refresh the list when the element scrolls\r\n\tfunction addScrollHandler(element: any) {\r\n\t\tvar listener = element.addEventListener(\"scroll\", () => {\r\n\t\t\trefreshList();\r\n\t\t});\r\n\t\tlisteners.push({ element: element, listener: listener });\r\n\t}\r\n\r\n\t//Auto-trigger the first scroll\r\n\trefreshList();\r\n\r\n\t//Helper Functions\r\n\r\n\t//Check to see which elements are within the container's viewport, and fetch/render them\r\n\tfunction refreshList() {\r\n\t\t//For some reason this still gets called even though the listeners are removed, I hate react\r\n\t\tif (!itemList) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t//Remove event listeners and delete the list if react has detached it, since react will stupidly create a brand new list instead of just reattaching this one\r\n\t\tif (!itemList.parentNode || itemList.clientHeight == 0 || !getComputedStyle(itemList).display) {\r\n\t\t\tlisteners.forEach((item: any) => {\r\n\t\t\t\titem.element.removeEventListener(\"scroll\", item.listener);\r\n\t\t\t});\r\n\t\t\titemList.remove(); //Detach from document\r\n\t\t\titemList.innerHTML = \"\"; //If for some reason the delete fails too, at least empty out the element\r\n\t\t\t(itemList as any) = null; //Hopefully flag for garbage collection\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t//Otherwise, calculate and load stuff as normal\r\n\t\tvar threshold = (window as any).innerHeight + 50; //getBoundingClientRect().top is relative to the window even in a scrollable div, so use this as the threshold\r\n\t\tlistItemBoxes.filter(box => !box.classList.contains(\"triggered\")).forEach(box => {\r\n\t\t\tvar top = box.getBoundingClientRect().top;\r\n\t\t\tif (top >= 0 && top <= threshold) {\r\n\t\t\t\tbox.classList.add(\"triggered\");\r\n\t\t\t\tgetResourceViaResourceCacheV3((box as any).dataset.url, (data: any) => {\r\n\t\t\t\t\t(onSuccess || defaultSuccess)(data, box, itemList);\r\n\t\t\t\t}, (data: any) => {\r\n\t\t\t\t\tdefaultError(data, box, itemList);\r\n\t\t\t\t\tonError?.(data, box, itemList);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t//Default success handler\r\n\tfunction defaultSuccess(data: any, itemContainer: Element, itemList?: Element) {\r\n\t\tvar container = itemContainer as any;\r\n\t\tcontainer.innerHTML = \"Loaded: \" + (container.dataset?.url || \"\") + \"\";\r\n\t}\r\n\r\n\t//Default error handler\r\n\tfunction defaultError(data: any, itemContainer: Element, itemList?: Element) {\r\n\t\tvar container = itemContainer as any;\r\n\t\tcontainer.innerHTML = \"\" + (container.dataset?.url || \"\") + \"\";\r\n\t\tconsole.log(\"Error Loading Item\", {\r\n\t\t\tdata: data,\r\n\t\t\titemContainer: itemContainer,\r\n\t\t\titemList: itemList\r\n\t\t});\r\n\t}\r\n}\r\n\r\n\r\nconst AJAXResourceListWrapper = styled.div`\r\n\r\n\t& .resourceListItem {\r\n\t\tmin-height: 50px;\r\n\t}\r\n`;\r\n\r\n//Utility methods\r\n//Get the AJAX Cache V3\r\nexport function getAJAXCacheV3(): Array {\r\n\tif (!(window as any).AJAXCacheV3) {\r\n\t\t(window as any).AJAXCacheV3 = [] as Array;\r\n\t}\r\n\treturn (window as any).AJAXCacheV3 as Array;\r\n}\r\n\r\n//Get a resource from AJAX Cache V3 based on its URL\r\nexport function getAJAXCacheV3Resource(url: string) {\r\n\treturn getAJAXCacheV3().find(resource => resource.URL == url);\r\n}\r\n\r\n//Append a resource object to Ajax Cache V3 if it isn't already present, and return the resource either way\r\nexport function appendAJAXCacheV3ResourceRaw(url: string, resourceData: any) {\r\n\tappendAJAXCacheV3Resource({\r\n\t\tURL: url,\r\n\t\tData: resourceData\r\n\t});\r\n}\r\nexport function appendAJAXCacheV3Resource(resource: ResourceWrapper) {\r\n\tvar cacheV3 = getAJAXCacheV3();\r\n\tvar wrapper = {\r\n\t\tURL: resource.URL,\r\n\t\tData: resource.Data,\r\n\t\tError: resource.Error,\r\n\t\tOnSuccess: resource.OnSuccess || [] as Array<(data: any) => void>,\r\n\t\tOnError: resource.OnError || [] as Array<(data: any) => void>\r\n\t};\r\n\tvar match = cacheV3.find(item => item.URL == wrapper.URL);\r\n\tif (!match) {\r\n\t\tcacheV3.push(wrapper);\r\n\t}\r\n\treturn match || wrapper;\r\n}\r\n\r\n//Combine all requests for a URL into a single object with 1-n success/error handlers, and process them when the object is loaded\r\nexport function getResourceViaResourceCacheV3(url: string, onSuccess?: (data: any) => void, onError?: (data: any) => void) {\r\n\t//Get the matching data\r\n\turl = url.replace(/^http:\\/\\//i, \"https://\");\r\n\tvar match = getAJAXCacheV3Resource(url);\r\n\r\n\t//If it was found, simulate the async rendering (for consistency) and process the result\r\n\tif (match) {\r\n\t\tif (match.Data && onSuccess) {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tonSuccess((match || {}).Data);\r\n\t\t\t}, 0);\r\n\t\t}\r\n\t\telse if (match.Error && onError) {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tonError((match || {}).Error);\r\n\t\t\t}, 0);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tonSuccess && match.OnSuccess?.push(onSuccess);\r\n\t\t\tonError && match.OnError?.push(onError);\r\n\t\t}\r\n\t}\r\n\t//Otherwise, append the resource object and its handlers, then fetch the resource and process the results\r\n\telse {\r\n\t\tvar appended = appendAJAXCacheV3Resource({\r\n\t\t\tURL: url,\r\n\t\t\tOnSuccess: onSuccess ? [onSuccess] : [],\r\n\t\t\tOnError: onError ? [onError] : []\r\n\t\t});\r\n\t\tfetch(url)\r\n\t\t\t.then(response => {\r\n\t\t\t\tif (response.ok) {\r\n\t\t\t\t\treturn response.text();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthrow response;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.then(text => {\r\n\t\t\t\tvar result = JSON.parse(text);\r\n\t\t\t\tconsole.log(\"Loaded \" + url, result);\r\n\t\t\t\tappended.Data = result;\r\n\t\t\t\tappended.OnSuccess?.forEach(successMethod => {\r\n\t\t\t\t\tsuccessMethod(appended.Data);\r\n\t\t\t\t});\r\n\t\t\t\tappended.OnSuccess = [];\r\n\t\t\t})\r\n\t\t\t.catch(error => {\r\n\t\t\t\tconsole.log(\"Error loading \" + url, error);\r\n\t\t\t\tappended.Error = error;\r\n\t\t\t\tappended.OnError?.forEach(errorMethod => {\r\n\t\t\t\t\terrorMethod(appended.Error);\r\n\t\t\t\t});\r\n\t\t\t\tappended.OnError = [];\r\n\t\t\t});\r\n\t}\r\n}\r\n\r\n//Utility functions common to rendering after data has been fetched\r\nexport function createElement(elementType: string, cssClass: string) {\r\n\tvar element = document.createElement(elementType);\r\n\tcssClass.split(\" \").forEach(cssItem => cssItem && element.classList.add(cssItem));\r\n\treturn element;\r\n}\r\n\r\nexport function getEnglish(data: any) {\r\n\treturn !data ? null : (data[\"en-us\"] || data[\"en-US\"] || data[\"en\"] || data);\r\n}\r\n\r\nexport function renderText(container: any, content: any, elementType?: string, cssClass?: string, title?: string, handler?: (box: any, text: string) => void) {\r\n\treturn renderElement(container, content, elementType || \"div\", cssClass || \"\", (element, content) => {\r\n\t\tvar text = getEnglish(content);\r\n\t\telement.innerHTML = text;\r\n\t\ttitle && (element.title = title);\r\n\t\thandler?.(element, text);\r\n\t});\r\n}\r\n\r\nexport function renderLink(container: any, contentURL: string, contentLabel?: string, target?: string, cssClass?: string, title?: string, handler?: (link: any, url: string) => void) {\r\n\treturn renderElement(container, contentURL, \"a\", cssClass || \"\", (element, content) => {\r\n\t\telement.href = contentURL;\r\n\t\telement.innerHTML = contentLabel || contentURL;\r\n\t\ttarget && (element.target = target);\r\n\t\ttitle && (element.title = title);\r\n\t\thandler?.(element, contentURL);\r\n\t});\r\n}\r\n\r\nexport function renderImage(container: any, contentURL: string, cssClass?: string, title?: string, altText?: string, handler?: (image: any, url: string) => void) {\r\n\treturn renderElement(container, contentURL, \"img\", cssClass || \"\", (image, url) => {\r\n\t\timage.src = contentURL;\r\n\t\timage.altText = altText || \"\";\r\n\t\ttitle && (image.title = title);\r\n\t\thandler?.(image, contentURL);\r\n\t});\r\n}\r\n\r\nexport function renderElement(container: any, content: any, elementType: string, cssClass: string, handler: (element: any, content: any) => void) {\r\n\tif (content) {\r\n\t\tvar element = container.appendChild(createElement(elementType || \"div\", cssClass || \"\"));\r\n\t\thandler?.(element, content);\r\n\r\n\t\treturn element;\r\n\t}\r\n\r\n\treturn null;\r\n}\r\n\r\nexport function getDetailPageHeaderModifiedDate(dateString: string) {\r\n\ttry {\r\n\t\tvar modified = new Date(dateString);\r\n\t\treturn [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"][modified.getMonth()] + \" \" + modified.getDate() + \", \" + modified.getFullYear();\r\n\t}\r\n\tcatch (e) {\r\n\t\treturn \"Unknown\"\r\n\t}\r\n}\r\n\r\nexport function lookupSchema(handler: (schemaGraph: Array) => void) {\r\n\t//If the graph object exists...\r\n\tif ((window as any).SchemaGraph) {\r\n\t\t//If the data is already loaded...\r\n\t\tif ((window as any).SchemaGraph.Loaded) {\r\n\t\t\t//Mimic the async nature of the request and call the handler\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\thandler?.((window as any).SchemaGraph.Graph);\r\n\t\t\t}, 0);\r\n\t\t}\r\n\t\t//If the data isn't loaded yet...\r\n\t\telse {\r\n\t\t\t//Queue the handler\r\n\t\t\thandler && (window as any).SchemaGraph.Handlers.push(handler);\r\n\t\t}\r\n\t}\r\n\t//If the graph object does not exist...\r\n\telse {\r\n\t\t//Create the graph object\r\n\t\t(window as any).SchemaGraph = {\r\n\t\t\tLoaded: false,\r\n\t\t\tGraph: [],\r\n\t\t\tHandlers: [],\r\n\t\t\tTimestamp: Date.now()\r\n\t\t};\r\n\r\n\t\t//Try to get the data from the local storage\r\n\t\tvar cachedText = (window as any).localStorage?.getItem(\"ajaxv3:SchemaGraph\");\r\n\t\tif (cachedText) {\r\n\t\t\tvar cachedData = JSON.parse(cachedText);\r\n\t\t\tconsole.log(\"Loading schema from local storage...\");\r\n\t\t\t//If the cache is less than 12 hours old, use it\r\n\t\t\tif (cachedData.Timestamp - Date.now() < 43200000) {\r\n\t\t\t\t//Set the graph object\r\n\t\t\t\t(window as any).SchemaGraph = cachedData;\r\n\r\n\t\t\t\t//Call the handler\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\thandler?.((window as any).SchemaGraph.Graph);\r\n\t\t\t\t}, 0);\r\n\r\n\t\t\t\t//Return in order to avoid calling the rest of the method\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//Otherwise, load the data\r\n\t\tconsole.log(\"Fetching schema from credreg.net...\");\r\n\t\thandler && (window as any).SchemaGraph.Handlers.push(handler);\r\n\t\tgetResourceViaResourceCacheV3(\"https://credreg.net/ctdl/schema/encoding/json\", (ctdlData) => {\r\n\t\t\tgetResourceViaResourceCacheV3(\"https://credreg.net/ctdlasn/schema/encoding/json\", (ctdlasnData) => {\r\n\t\t\t\tgetResourceViaResourceCacheV3(\"https://credreg.net/qdata/schema/encoding/json\", (qdataData) => {\r\n\t\t\t\t\t//Combine and deduplicate the schema objects\r\n\t\t\t\t\t(ctdlData[\"@graph\"]).concat(ctdlasnData[\"@graph\"]).concat(qdataData[\"@graph\"]).forEach((item: any) => {\r\n\t\t\t\t\t\tif (!(window as any).SchemaGraph.Graph.find((graphItem: any) => graphItem[\"@id\"] == item[\"@id\"])) {\r\n\t\t\t\t\t\t\t(window as any).SchemaGraph.Graph.push(item);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t//Set the graph object as loaded and call its handlers\r\n\t\t\t\t\t(window as any).SchemaGraph.Loaded = true;\r\n\t\t\t\t\t(window as any).SchemaGraph.Handlers.forEach((handler: any) => {\r\n\t\t\t\t\t\thandler?.((window as any).SchemaGraph.Graph);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t//Clear its handlers\r\n\t\t\t\t\t(window as any).SchemaGraph.Handlers = [];\r\n\r\n\t\t\t\t\t//Cache the object\r\n\t\t\t\t\t(window as any).localStorage?.setItem(\"ajaxv3:SchemaGraph\", JSON.stringify((window as any).SchemaGraph));\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t})\r\n\t}\r\n}\r\n\r\nexport function renderOutline(data: any, itemContainer: Element, itemList?: Element) {\r\n\tvar container = itemContainer as any;\r\n\tcontainer.innerHTML = \"\";\r\n\tcontainer.classList.add(\"outline\");\r\n\trenderImage(container, data[\"ceterms:image\"], \"outlineImage\", \"Resource image\");\r\n\tvar content = renderElement(container, true, \"div\", \"outlineContent\", () => { });\r\n\tif (data[\"@id\"]?.includes(registryURL + \"/resources/ce-\")) {\r\n\t\trenderLink(content, appURL + \"/resources/\" + data[\"ceterms:ctid\"], getEnglish(data[\"ceterms:name\"] || data[\"ceasn:name\"] || data[\"skos:prefLabel\"] || data[\"ceasn:competencyLabel\"] || \"Unnamed Resource\"), \"_blank\", \"outlineName\");\r\n\t\trenderText(content, getEnglish(data[\"ceterms:description\"] || data[\"ceasn:description\"] || data[\"skos:definition\"] || data[\"ceasn:competencyText\"] || \"No Description\"), \"div\", \"outlineDescription\");\r\n\t}\r\n\telse {\r\n\t\trenderLink(content, data[\"@id\"], \"External Resource\", \"_blank\", \"outlineName external\");\r\n\t\trenderText(content, \"External Link to \" + data[\"@id\"], \"div\", \"outlineDescription\");\r\n\t}\r\n\r\n}\r\n\r\nexport function OutlineStyleBlock() {\r\n\treturn \r\n}\r\n","import React, { useRef, useEffect, useState } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { renderToString } from 'react-dom/server';\r\nimport styled from 'styled-components/macro';\r\nimport { apiUrl, appURL, registryURL } from '../../shared/globals';\r\nimport { IdentifierValue } from '../../types/external';\r\nimport ActivityIndicator from '../ActivityIndicator';\r\nimport { setupAJAXResourceList, getResourceViaResourceCacheV3, getAJAXCacheV3Resource, createElement, getEnglish } from '../AJAXResourceList';\r\n\r\nexport function renderCompetencyFromRDF(competency: any, itemContainer: Element, relatedItemsMap: Array, renderChildCompetencies: boolean) {\r\n\tvar container = itemContainer as any;\r\n\tcontainer.classList.add(\"competency2\");\r\n\tcontainer.innerHTML = \"\";\r\n\r\n\t//Competency Content\r\n\tvar CompetencyContent = container.appendChild(createElement(\"div\", \"competencyContent\"));\r\n\t{\r\n\t\tvar CompetencyPrefix = CompetencyContent.appendChild(createElement(\"div\", \"competencyPrefix\"));\r\n\t\tcreateTitledBox(CompetencyPrefix, \"Competency Category\", competency[\"ceasn:competencyCategory\"], \"competencyPrefixItem competencyCategory\");\r\n\t\tcreateTitledBox(CompetencyPrefix, \"List ID\", competency[\"ceasn:listID\"], \"competencyPrefixItem listID\");\r\n\t\tcreateTitledBox(CompetencyPrefix, \"List ID\", competency.ListID, \"competencyPrefixItem listID\"); //For bnode competencies from the API\r\n\t\tcreateTitledBox(CompetencyPrefix, \"Coded Notation\", competency[\"ceasn:codedNotation\"], \"competencyPrefixItem codedNotation\");\r\n\t\tcreateTitledBox(CompetencyPrefix, \"Coded Notation\", competency.CodedNotation, \"competencyPrefixItem codedNotation\"); //For bnode competencies from the API\r\n\t\tcreateTitledBox(CompetencyPrefix, \"Alt Coded Notation\", competency[\"ceasn:altCodedNotation\"], \"competencyPrefixItem altCodedNotation\");\r\n\t}\r\n\t{\r\n\t\tvar CompetencyBody = CompetencyContent.appendChild(createElement(\"div\", \"competencyBody\"));\r\n\t\tcreateTitledBox(CompetencyBody, \"Competency Label\", competency[\"ceasn:competencyLabel\"], \"competencyLabel\");\r\n\t\tcreateTitledBox(CompetencyBody, \"Competency Label\", competency.CompetencyLabel, \"competencyLabel\"); //For bnode competencies from the API\r\n\t\tcreateTitledBox(CompetencyBody, \"Competency Text\", competency[\"ceasn:competencyText\"], \"competencyText\");\r\n\t\tcreateTitledBox(CompetencyBody, \"Competency Text\", competency.CompetencyText, \"competencyText\"); //For bnode competencies from the API\r\n\t\tcreateTitledBox(CompetencyBody, \"Comment\", competency[\"ceasn:comment\"], \"competencyComment\", (data => { return getEnglish(data)?.map((item: string) => \"
    \" + item + \"
    \").join(\"\"); }));\r\n\t\tcreateTitledBox(CompetencyBody, \"Comment\", competency.Comment, \"competencyComment\", (data => \"
    \" + data + \"
    \")); //For bnode competencies from the API\r\n\t\tcreateTitledBox(CompetencyBody, \"CTID\", competency[\"ceterms:ctid\"], \"competencyCTID\", (data => { return \"CTID:\" + data + \"\"; }));\r\n\t}\r\n\r\n\t//Competency Extras\r\n\tvar CompetencyExtras = container.appendChild(createElement(\"div\", \"competencyExtras\"));\r\n\t{\r\n\t\t//Misc\r\n\t\tcreateItemList(CompetencyExtras, \"Identifier URL{s}\", competency[\"ceasn:identifier\"], \"identifier\", renderLinkListItem);\r\n\t\tcreateItemList(CompetencyExtras, \"Identifier URL{s}\", competency.TargetNode, \"identifier\", (item: any, valueBox: any) => {\r\n\t\t\tif (item && !item.toLowerCase().includes(registryURL.toLowerCase())) {\r\n\t\t\t\trenderLinkListItem(item, valueBox);\r\n\t\t\t}\r\n\t\t}); //For bnode competencies from the API\r\n\t\t//Versions\r\n\t\tcreateVersionBox(CompetencyExtras, \"Latest Version\", getEnglish(competency[\"ceterms:latestVersion\"]), \"latestVersion\");\r\n\t\tcreateVersionBox(CompetencyExtras, \"Next Version\", getEnglish(competency[\"ceterms:nextVersion\"]), \"nextVersion\");\r\n\t\tcreateVersionBox(CompetencyExtras, \"Previous Version\", getEnglish(competency[\"ceterms:previousVersion\"]), \"previousVersion\");\r\n\t\tcreateVersionIdentifierBox(CompetencyExtras, \"Version Identifier\", createIdentifier(competency[\"ceterms:versionIdentifier\"]), \"versionIdentifier\");\r\n\r\n\t\tcreateItemList(CompetencyExtras, \"Keyword{s}\", getEnglish(competency[\"ceasn:conceptKeyword\"]), \"keyword\", renderSearchLinkListItem);\r\n\t\tcreateItemList(CompetencyExtras, \"Local Subject{s}\", getEnglish(competency[\"ceasn:localSubject\"]), \"localSubject\", renderSearchLinkListItem);\r\n\t\tcreateAJAXItemList(CompetencyExtras, \"Concept{s}\", competency[\"ceasn:conceptTerm\"], \"conceptTerm\", renderConceptListItem);\r\n\t\tcreateAJAXItemList(CompetencyExtras, \"Complexity Level{s}\", competency[\"ceasn:complexityLevel\"], \"complexityLevel\", renderConceptListItem);\r\n\t\tcreateAJAXItemList(CompetencyExtras, \"Education Level Type{s}\", competency[\"ceasn:educationLevelType\"], \"complexityLevel\", renderConceptListItem);\r\n\t\tcreateAJAXItemList(CompetencyExtras, \"Environmental Hazard Type{s}\", competency[\"ceterms:environmentalHazardType\"], \"environmentalHazardType\", renderConceptListItem);\r\n\t\tcreateAJAXItemList(CompetencyExtras, \"Performance Level Type{s}\", competency[\"ceterms:performanceLevelType\"], \"performanceLevelType\", renderConceptListItem);\r\n\t\tcreateAJAXItemList(CompetencyExtras, \"Physical Capability Type{s}\", competency[\"ceterms:physicalCapabilityType\"], \"physicalCapabilityType\", renderConceptListItem);\r\n\t\tcreateAJAXItemList(CompetencyExtras, \"Sensory Capability Type{s}\", competency[\"ceterms:sensoryCapabilityType\"], \"sensoryCapabilityType\", renderConceptListItem);\r\n\t\tcreateAJAXItemList(CompetencyExtras, \"Has Progression Level{s}\", competency[\"asn:hasProgressionLevel\"], \"hasProgressionLevel\", renderProgressionLevelListItem);\r\n\r\n\t\t//Substantiating\r\n\t\tcreateItemList(CompetencyExtras, \"Source Documentation{s}\", competency[\"ceasn:sourceDocumentation\"], \"sourceDocumentation\", renderLinkListItem);\r\n\t\tcreateAJAXItemList(CompetencyExtras, \"Inferred Competenc{ies}\", competency[\"ceasn:inferredCompetency\"], \"inferredCompetency\", renderCompetencyLinkListItem);\r\n\t\tcreateAJAXItemList(CompetencyExtras, \"Substantiating Competency Framework{s}\", competency[\"ceasn:substantiatingCompetencyFramework\"], \"substantiatingCompetencyFramework\", renderResourceLinkListItem);\r\n\t\tcreateAJAXItemList(CompetencyExtras, \"Substantiating Credential{s}\", competency[\"ceasn:substantiatingCredential\"], \"substantiatingCredential\", renderResourceLinkListItem);\r\n\t\tcreateItemList(CompetencyExtras, \"Substantiating Occupation{s}\", competency[\"ceasn:substantiatingOccupation\"], \"substantiatingOccupation\", renderLinkListItem);\r\n\t\tcreateItemList(CompetencyExtras, \"Substantiating Job{s}\", competency[\"ceasn:substantiatingJob\"], \"substantiatingJob\", renderLinkListItem);\r\n\t\tcreateItemList(CompetencyExtras, \"Substantiating Work Role{s}\", competency[\"ceasn:substantiatingWorkRole\"], \"substantiatingWorkRole\", renderLinkListItem);\r\n\t\tcreateItemList(CompetencyExtras, \"Substantiating Task{s}\", competency[\"ceasn:substantiatingTask\"], \"substantiatingTask\", renderLinkListItem);\r\n\t\tcreateItemList(CompetencyExtras, \"Substantiating Resource{s}\", competency[\"ceasn:substantiatingResource\"], \"substantiatingResource\", renderLinkListItem);\r\n\r\n\t\t//Alignments\r\n\t\t/*\r\n\t\tcompetency[\"test:testAlignment\"] = [\r\n\t\t\t\"https://credentialengineregistry.org/resources/ce-58aec6a6-b1e1-4c49-af01-238b9b8f2638\",\r\n\t\t\t\"https://credentialengineregistry.org/resources/ce-59c6a9f8-4839-494c-ba71-14e0b9b44c4b\",\r\n\t\t\t\"https://credentialengineregistry.org/resources/ce-a5a7d0e8-7bc1-43eb-a13c-91c81c2d8cab\",\r\n\t\t\t\"https://credentialengineregistry.org/resources/ce-db440f2e-9a9f-45a0-b624-fc277ec6761f\",\r\n\t\t\t\"https://credentialengineregistry.org/resources/ce-20400c85-3eb3-451f-859a-bee31569c52a\"\r\n\t\t];\r\n\t\t*/\r\n\t\t//createCompetencyDSPList(CompetencyExtras, \"Test Alignment{s}\", competency, \"test:testAlignment\", \"testAlignment\");\r\n\t\tcreateCompetencyDSPList(CompetencyExtras, \"Exact Alignment{s}\", competency, \"ceasn:exactAlignment\", \"exactAlignment\");\r\n\t\tcreateCompetencyDSPList(CompetencyExtras, \"Prerequisite Alignment{s}\", competency, \"ceasn:prerequisiteAlignment\", \"prerequisiteAlignment\");\r\n\t\tcreateCompetencyDSPList(CompetencyExtras, \"Broad Alignment{s}\", competency, \"ceasn:broadAlignment\", \"broadAlignment\");\r\n\t\tcreateCompetencyDSPList(CompetencyExtras, \"Narrow Alignment{s}\", competency, \"ceasn:narrowAlignment\", \"narrowAlignment\");\r\n\t\tcreateCompetencyDSPList(CompetencyExtras, \"Major Alignment{s}\", competency, \"ceasn:majorAlignment\", \"majorAlignment\");\r\n\t\tcreateCompetencyDSPList(CompetencyExtras, \"Minor Alignment{s}\", competency, \"ceasn:minorAlignment\", \"minorAlignment\");\r\n\t\tcreateCompetencyDSPList(CompetencyExtras, \"Knowledge{s} Embodied\", competency, \"ceasn:knowledgeEmbodied\", \"knowledgeEmbodied\");\r\n\t\tcreateCompetencyDSPList(CompetencyExtras, \"Skill{s} Embodied\", competency, \"ceasn:skillEmbodied\", \"skillEmbodied\");\r\n\t\tcreateCompetencyDSPList(CompetencyExtras, \"Abilit{ies} Embodied\", competency, \"ceasn:abilityEmbodied\", \"abilityEmbodied\");\r\n\t\tcreateCompetencyDSPList(CompetencyExtras, \"Alignment{s} To\", competency, \"ceasn:alignTo\", \"alignTo\");\r\n\t\tcreateCompetencyDSPList(CompetencyExtras, \"Alignment{s} From\", competency, \"ceasn:alignFrom\", \"alignFrom\");\r\n\t\tcreateCompetencyDSPList(CompetencyExtras, \"Cross Subject Reference{s}\", competency, \"ceasn:crossSubjectReference\", \"crossSubjectReference\");\r\n\t\tcreateCompetencyDSPList(CompetencyExtras, \"Is Version Of Reference{s}\", competency, \"ceasn:isVersionOf\", \"isVersionOf\");\r\n\r\n\t\t//Industry/Occupation/Instruction\r\n\t\t/*\r\n\t\tcompetency[\"test:testReference\"] = [\r\n\t\t\t{\r\n\t\t\t\t\"ceterms:targetNodeName\": { \"en\": \"Test Reference 1\" },\r\n\t\t\t\t\"ceterms:targetNodeDescription\": { \"en\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam ut sodales lorem.\" },\r\n\t\t\t\t\"ceterms:codedNotation\": \"ABC-123\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"ceterms:targetNodeName\": { \"en\": \"Test Reference 2\" },\r\n\t\t\t\t\"ceterms:targetNodeDescription\": { \"en\": \"Sed augue justo, dignissim et laoreet vitae, imperdiet eu enim. Ut ac magna a erat elementum rutrum sed non justo. Nulla porttitor mi vitae odio sagittis feugiat. In volutpat vel lacus quis malesuada.\" },\r\n\t\t\t\t\"ceterms:codedNotation\": \"999-999\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"ceterms:targetNodeName\": { \"en\": \"Test Reference 3\" },\r\n\t\t\t\t\"ceterms:targetNodeDescription\": { \"en\": \"Nullam dictum, elit ac pharetra vehicula, nibh libero tempus quam, sit amet hendrerit arcu ligula nec nisi.\" },\r\n\t\t\t\t\"ceterms:codedNotation\": \"XYZ-10101\"\r\n\t\t\t}\r\n\t\t];\r\n\t\t*/\r\n\t\tcreateItemList(CompetencyExtras, \"Test Reference{s}\", competency[\"test:testReference\"], \"testReference\", renderCredentialAlignmentObjectSearchLinkListItem, true);\r\n\t\tcreateItemList(CompetencyExtras, \"Industry Type{s}\", competency[\"ceterms:industryType\"], \"industryType\", renderCredentialAlignmentObjectSearchLinkListItem, true);\r\n\t\tcreateItemList(CompetencyExtras, \"Occupation Type{s}\", competency[\"ceterms:occupationType\"], \"occupationType\", renderCredentialAlignmentObjectSearchLinkListItem, true);\r\n\t\tcreateItemList(CompetencyExtras, \"Instructional Program Type{s}\", competency[\"ceterms:instructionalProgramType\"], \"instructionalProgramType\", renderCredentialAlignmentObjectSearchLinkListItem, true);\r\n\r\n\t}\r\n\r\n\t//Competency Children\r\n\tif (renderChildCompetencies) {\r\n\t\tvar CompetencyChildren = container.appendChild(createElement(\"div\", \"competencyChildren\"));\r\n\t\tsetupAJAXResourceList(CompetencyChildren, competency[\"ceasn:hasChild\"], undefined, (data, itemContainer, itemList) => { renderCompetencyFromRDF(data, itemContainer, relatedItemsMap, true); });\r\n\t}\r\n\r\n\t//Helpers\r\n\tfunction createTitledBox(container: any, label: string, content: any, cssClass: string, handler?: (data: any) => string) {\r\n\t\tif (content) {\r\n\t\t\tvar box = container.appendChild(createElement(\"div\", cssClass));\r\n\t\t\tbox.title = label;\r\n\t\t\tbox.innerHTML = (handler || getEnglish)(content);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction createVersionBox(container: any, label: string, content: any, cssClass: string, handler?: (data: any) => string) {\r\n\t\tif (content) {\r\n\t\t\tvar box = container.appendChild(createElement(\"div\", cssClass));\r\n\t\t\tvar labelElement = createElement(\"span\", \"label\");\r\n\t\t\tvar contentElement = createElement(\"a\", \"content\") as HTMLAnchorElement; // Explicitly cast to HTMLAnchorElement\r\n\r\n\t\t\tlabelElement.textContent = label + \": \";\r\n\t\t\tvar processedContent = (handler || getEnglish)(content);\r\n\t\t\tcontentElement.innerHTML = processedContent;\r\n\t\t\tcontentElement.href = content; // Set the href to the original content\r\n\r\n\t\t\tbox.appendChild(labelElement);\r\n\t\t\tbox.appendChild(contentElement);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction createIdentifier(identifier: Array) {\r\n\t\treturn (identifier || []).map(source => {\r\n\t\t\treturn {\r\n\t\t\t\tIdentifierType: getEnglish(source[\"ceterms:identifierType\"]),\r\n\t\t\t\tIdentifierTypeName: getEnglish(source[\"ceterms:identifierTypeName\"]),\r\n\t\t\t\tIdentifierValueCode: getEnglish(source[\"ceterms:identifierValueCode\"]),\r\n\t\t\t} as IdentifierValue;\r\n\t\t});\r\n\t}\r\n\r\n\tfunction createVersionIdentifierBox(container: any, label: string, content: IdentifierValue[], cssClass: string, handler?: (data: any) => string) {\r\n\t\tif (content && content.length > 0) {\r\n\t\t\tconst box = container.appendChild(createElement(\"div\", cssClass));\r\n\t\t\tconst labelElement = createElement(\"span\", \"label\");\r\n\r\n\t\t\tlabelElement.textContent = label + \": \";\r\n\t\t\tbox.appendChild(labelElement);\r\n\r\n\t\t\tcontent.forEach((identifier, index)=> {\r\n\t\t\t\tconst identifierElement = createElement(\"div\", \"identifier\");\r\n\r\n\t\t\t\tif (typeof identifier === \"string\") {\r\n\t\t\t\t\tidentifierElement.textContent = identifier;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst identifierText = `${identifier.IdentifierType ? identifier.IdentifierType + \" - \" : \"\"}${identifier.IdentifierTypeName} ${identifier.IdentifierValueCode} `;\r\n\t\t\t\t\tidentifierElement.textContent = identifierText;\r\n\t\t\t\t}\r\n\t\t\t\tif (index < content.length - 1) {\r\n\t\t\t\t\tidentifierElement.textContent += \", \";\r\n\t\t\t\t}\r\n\t\t\t\tlabelElement.style.display = \"inline\";\r\n\t\t\t\tidentifierElement.style.display = \"inline\";\r\n\t\t\t\tbox.appendChild(identifierElement);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction createItemListInternals(container: any, label: string, dataList: Array, cssClass: string, collapsed: boolean) {\r\n\t\tvar box = container.appendChild(createElement(\"div\", \"itemList collapseBox \" + cssClass + (collapsed ? \"\" : \" expanded\")));\r\n\t\tvar labelBox = box.appendChild(createElement(\"button\", \"itemListLabel collapseButton\"));\r\n\t\tlabelBox.innerHTML = dataList.length + \" \" + label.replace(/{ies}/g, dataList.length == 1 ? \"y\" : \"ies\").replace(/{s}/g, dataList.length == 1 ? \"\" : \"s\");\r\n\t\tvar valueBox = box.appendChild(createElement(\"div\", \"itemListValue collapseContent\"));\r\n\t\tlabelBox.addEventListener(\"click\", () => {\r\n\t\t\tbox.classList.contains(\"expanded\") ? box.classList.remove(\"expanded\") : box.classList.add(\"expanded\");\r\n\t\t});\r\n\t\treturn valueBox;\r\n\t}\r\n\r\n\tfunction createItemList(container: any, label: string, content: any, cssClass: string, handler: (item: any, valueBox: any) => void, collapsed?: boolean) {\r\n\t\tif (content) {\r\n\t\t\tvar dataList = (Array.isArray(content) ? content : [content]);\r\n\t\t\tvar valueBox = createItemListInternals(container, label, dataList, cssClass, collapsed || false);\r\n\t\t\tdataList.forEach(item => {\r\n\t\t\t\thandler?.(item, valueBox);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tfunction createAJAXItemList(container: any, label: string, content: any, cssClass: string, successHandler: (data: any, itemContainer: Element, itemList?: Element) => void, collapsed?: boolean) {\r\n\t\tif (content) {\r\n\t\t\tvar dataList = (Array.isArray(content) ? content : [content]);\r\n\t\t\tvar valueBox = createItemListInternals(container, label, dataList, \"ajaxList \" + cssClass, collapsed || false);\r\n\t\t\tsetupAJAXResourceList(valueBox, dataList, undefined, successHandler, (error: any, itemContainer: any) => {\r\n\t\t\t\titemContainer.classList.remove(\"resourceListItem\");\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tfunction createCompetencyDSPList(container: any, label: string, source: any, property: string, cssClass: string) {\r\n\t\tcreateAJAXItemList(container, label, source[property], cssClass, renderCompetencyLinkListItem);\r\n\t\tgetResourceViaResourceCacheV3(apiUrl + \"/detail/descriptionsetbyctid/\" + source[\"ceterms:ctid\"] + \"?perBranchLimit=-1\", (data: any) => {\r\n\t\t\tconsole.log(\"DSP for competency\", data);\r\n\t\t\tif (data.Result.RelatedItemsMap) {\r\n\t\t\t\tconsole.log(\"Related Items Map for competency\", data.Result.RelatedItemsMap);\r\n\t\t\t\tvar allMatches = data.Result.RelatedItemsMap.filter((mapItem: any) => {\r\n\t\t\t\t\treturn mapItem?.Path?.match(new RegExp(\"< \" + property + \" < ceasn:Competency$\")) != null\r\n\t\t\t\t}).flatMap((mapItem: any) => mapItem.URIs) as Array;\r\n\r\n\t\t\t\tvar filteredMatches = [] as Array;\r\n\t\t\t\tallMatches.forEach(match => {\r\n\t\t\t\t\t!filteredMatches.includes(match) && filteredMatches.push(match);\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (filteredMatches?.length > 0) {\r\n\t\t\t\t\tcreateAJAXItemList(container, \"External/Incoming \" + label, filteredMatches, cssClass + \" external\", renderCompetencyLinkListItem)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tfunction renderLinkListItem(item: any, valueBox: any) {\r\n\t\tvar link = valueBox.appendChild(createElement(\"a\", \"linkListItem\"));\r\n\t\tlink.href = item;\r\n\t\tlink.innerHTML = item;\r\n\t\tlink.target = \"_blank\";\r\n\t}\r\n\r\n\tfunction renderSearchLinkListItem(item: any, valueBox: any) {\r\n\t\tif (!item.indexOf) {\r\n\t\t\tdebugger;\r\n\t\t}\r\n\t\tvar link = valueBox.appendChild(createElement(\"a\", \"linkListItem searchLinkListItem\"));\r\n\t\tlink.href = item.indexOf(\"http\") == 0 ? item : \"/search?searchtype=competencyframework&keywords=\" + encodeURIComponent(item);\r\n\t\tlink.innerHTML = item;\r\n\t\tlink.target = \"_blank\";\r\n\t}\r\n\r\n\tfunction renderDetailPageLinkListItem(item: any, valueBox: any) {\r\n\t\tvar link = valueBox.appendChild(createElement(\"a\", \"linkListItem detailPageLinkListItem\"));\r\n\t\tvar url = item.replace(registryURL, appURL);\r\n\t\tlink.href = url;\r\n\t\tlink.innerHTML = url;\r\n\t\tlink.target = \"_blank\";\r\n\t}\r\n\r\n\tfunction renderConceptListItem(data: any, valueBox: any, listBox: any) {\r\n\t\tvalueBox.innerHTML = \"\";\r\n\t\tvar concept = data[\"@graph\"]?.find((m: any) => m[\"@type\"] == \"skos:Concept\") || data;\r\n\t\tvar schemeURI = Array.isArray(concept[\"skos:inScheme\"])\r\n\t\t\t\t\t\t? concept[\"skos:inScheme\"][0] : concept[\"skos:inScheme\"] || \"\"\r\n\t\tvar renderURL = concept[\"@id\"].includes(\"credentialengineregistry.org\") ? (appURL + \"/conceptscheme/ce-\" + schemeURI.split(\"/ce-\")[1] + \"?targetCTID=\" + concept[\"ceterms:ctid\"]) : concept[\"@id\"];\r\n\t\tvar renderLabel = (concept[\"skos:notation\"] !== null && concept[\"skos:notation\"] !== undefined)\r\n \t\t\t\t? getEnglish(concept[\"skos:notation\"]) + ' ' + getEnglish(concept[\"skos:prefLabel\"])\r\n \t\t\t\t: getEnglish(concept[\"skos:prefLabel\"])|| renderURL;\r\n\t\tvar renderDefinition = getEnglish(concept[\"skos:definition\"]);\r\n\r\n\t\tvar wrapper = valueBox.appendChild(createElement(\"div\", \"concept\"));\r\n\t\tvar link = wrapper.appendChild(createElement(\"a\", \"\"));\r\n\t\tlink.href = renderURL;\r\n\t\tlink.innerHTML = renderLabel;\r\n\t\tif (renderDefinition) {\r\n\t\t\tvar definition = wrapper.appendChild(createElement(\"div\", \"description\"));\r\n\t\t\tdefinition.innerHTML = renderDefinition;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction renderProgressionLevelListItem(data: any, valueBox: any, listBox: any) {\r\n\t\tvalueBox.innerHTML = \"\";\r\n\t\tvar concept = data[\"@graph\"]?.find((m: any) => m[\"@type\"] == \"asn:ProgressionLevel\") || data;\r\n\t\tvar schemeURI = Array.isArray(concept[\"ceasn:inProgressionModel\"]) \r\n\t\t\t\t\t\t? concept[\"ceasn:inProgressionModel\"][0] : concept[\"ceasn:inProgressionModel\"] || \"\";\r\n\t\tvar renderURL = concept[\"@id\"].includes(\"credentialengineregistry.org\") ? (appURL + \"/progressionmodel/ce-\" + schemeURI.split(\"/ce-\")[1] + \"?targetCTID=\" + concept[\"ceterms:ctid\"]) : concept[\"@id\"];\r\n\t\tvar renderLabel = getEnglish(concept[\"skos:prefLabel\"]) || renderURL;\r\n\t\tvar renderDefinition = getEnglish(concept[\"skos:definition\"]);\r\n\r\n\t\tvar wrapper = valueBox.appendChild(createElement(\"div\", \"concept\"));\r\n\t\tvar link = wrapper.appendChild(createElement(\"a\", \"\"));\r\n\t\tlink.href = renderURL;\r\n\t\tlink.innerHTML = renderLabel;\r\n\t\tif (renderDefinition) {\r\n\t\t\tvar definition = wrapper.appendChild(createElement(\"div\", \"description\"));\r\n\t\t\tdefinition.innerHTML = renderDefinition;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction renderCredentialAlignmentObjectSearchLinkListItem(item: any, valueBox: any) {\r\n\t\tvar code = item[\"ceterms:codedNotation\"] || \"\";\r\n\t\tvar name = getEnglish(item[\"ceterms:targetNodeName\"]) || \"\";\r\n\t\tvar description = getEnglish(item[\"ceterms:targetNodeDescription\"]) || \"\";\r\n\t\tvar wrapper = valueBox.appendChild(createElement(\"div\", \"credentialAlignmentObject\"));\r\n\t\tvar link = wrapper.appendChild(createElement(\"a\", \"\"));\r\n\t\tlink.href = \"/search?searchtype=competencyframework&keywords=\" + encodeURIComponent(code || name);\r\n\t\tlink.innerHTML = [code, name].filter(m => m).join(\": \");\r\n\t\tlink.target = \"_blank\";\r\n\t\tif (description) {\r\n\t\t\tvar descriptionBox = wrapper.appendChild(createElement(\"div\", \"description\"));\r\n\t\t\tdescriptionBox.innerHTML = description;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction renderCompetencyLinkListItem(item: any, valueBox: any) {\r\n\t\tvalueBox.innerHTML = \"\";\r\n\t\tvalueBox.classList.remove(\"resourceListItem\");\r\n\t\tvalueBox.classList.add(\"competencyLinkListItem\");\r\n\t\tvar url = item[\"@id\"];\r\n\t\tvar frameworkURL = item[\"ceasn:isPartOf\"];\r\n\t\tvar collectionURLs = item[\"ceterms:isMemberOf\"];\r\n\t\tvar text = getEnglish(item[\"ceasn:competencyText\"]);\r\n\r\n\t\tvar containerLink = valueBox.appendChild(createElement(\"a\", \"competencyContainer\"));\r\n\t\tvar containerDiv = valueBox.appendChild(createElement(\"div\", \"competencyContainer\"));\r\n\t\tvar separator = valueBox.appendChild(document.createTextNode(\": \"));\r\n\t\tvar itemLink = valueBox.appendChild(createElement(\"a\", \"\"));\r\n\r\n\t\tif (frameworkURL || (collectionURLs && collectionURLs.length == 1)) {\r\n\t\t\tvalueBox.removeChild(containerDiv);\r\n\t\t\tgetResourceViaResourceCacheV3(frameworkURL || collectionURLs[0], (data) => {\r\n\t\t\t\tcontainerLink.href = (data[\"@id\"] || \"\").replace(registryURL, appURL);\r\n\t\t\t\tcontainerLink.target = \"_blank\";\r\n\t\t\t\tcontainerLink.innerHTML = getEnglish(data[\"ceterms:name\"] || data[\"ceasn:name\"]);\r\n\t\t\t});\r\n\t\t}\r\n\t\telse if (collectionURLs && collectionURLs.length > 1) {\r\n\t\t\tvalueBox.removeChild(containerLink);\r\n\t\t\tcontainerDiv.innerHTML = collectionURLs.length + \" Collections\";\r\n\t\t}\r\n\t\telse {\r\n\t\t\tvalueBox.removeChild(containerLink);\r\n\t\t\tvalueBox.removeChild(separator);\r\n\t\t}\r\n\r\n\t\t//itemLink.href = url.replace(registryURL, appURL);\r\n\t\titemLink.href = url.includes(registryURL) ? ( appURL + \"/competency/\" + item[\"ceterms:ctid\"] ) : url;\r\n\t\titemLink.target = \"_blank\";\r\n\t\titemLink.innerHTML = text;\r\n\t}\r\n\r\n\tfunction renderResourceLinkListItem(item: any, valueBox: any) {\r\n\t\tvalueBox.innerHTML = \"\";\r\n\t\tvalueBox.classList.remove(\"resourceListItem\");\r\n\t\tvalueBox.classList.add(\"renderResourceLinkListItem\");\r\n\t\tvar ctid = item[\"ceterms:ctid\"];\r\n\t\tvar url = appURL + \"/resources/\" + ctid;\r\n\t\tvar link = valueBox.appendChild(createElement(\"a\", \"linkListItem detailPageLinkListItem\"));\r\n\t\tlink.href = url;\r\n\t\tlink.innerHTML = getEnglish(item[\"ceterms:name\"] || item[\"ceasn:name\"] || item[\"skos:prefLabel\"] || item[\"ceasn:competencyLabel\"] || \"Unknown Name\");\r\n\t\tlink.target = \"_blank\";\r\n\t}\r\n}\r\n\r\nexport function CompetencyStyleBlock() {\r\n\treturn \r\n}\r\n\r\n/* Properties\r\nasn:hasProgressionLevel\r\nceasn:abilityEmbodied\r\nceasn:alignFrom\r\nceasn:alignTo\r\nceasn:altCodedNotation\r\nceasn:author\r\nceasn:broadAlignment\r\nceasn:codedNotation\r\nceasn:comment\r\nceasn:competencyCategory\r\nceasn:competencyLabel\r\nceasn:competencyText\r\nceasn:complexityLevel\r\nceasn:comprisedOf\r\nceasn:conceptKeyword\r\nceasn:conceptTerm\r\nceasn:creator\r\nceasn:crossSubjectReference\r\nceasn:dateCreated\r\nceasn:dateModified\r\nceasn:derivedFrom\r\nceasn:educationLevelType\r\nceasn:exactAlignment\r\nceasn:hasChild\r\nceasn:identifier\r\nceasn:inferredCompetency\r\nceasn:inLanguage\r\nceasn:isChildOf\r\nceasn:isPartOf\r\nceasn:isTopChildOf\r\nceasn:isVersionOf\r\nceasn:knowledgeEmbodied\r\nceasn:license\r\nceasn:listID\r\nceasn:localSubject\r\nceasn:majorAlignment\r\nceasn:minorAlignment\r\nceasn:narrowAlignment\r\nceasn:prerequisiteAlignment\r\nceasn:shouldIndex\r\nceasn:skillEmbodied\r\nceasn:sourceDocumentation\r\nceasn:substantiatingCompetencyFramework\r\nceasn:substantiatingCredential\r\nceasn:substantiatingJob\r\nceasn:substantiatingOccupation\r\nceasn:substantiatingOrganization\r\nceasn:substantiatingResource\r\nceasn:substantiatingTask\r\nceasn:substantiatingWorkRole\r\nceasn:taskEmbodied\r\nceasn:weight\r\nceterms:ctid\r\nceterms:environmentalHazardType\r\nceterms:hasTask\r\nceterms:hasWorkforceDemand\r\nceterms:industryType\r\nceterms:instructionalProgramType\r\nceterms:isMemberOf\r\nceterms:occupationType\r\nceterms:performanceLevelType\r\nceterms:physicalCapabilityType\r\nceterms:sensoryCapabilityType\r\nnavy:hasMaintenanceTask\r\nnavy:hasSourceIdentifier\r\nnavy:hasTrainingTask\r\n*/","import React from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { Box, BoxLabel, BoxContent, Section, SectionContent } from '../../components/DetailPage/Shared';\r\nimport { CompetencyFramework as CompetencyFrameworkType, Competency as CompetencyType, AJAXSettings } from '../../types/external';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { TabSetOrSingle } from './TabSelector';\r\nimport { appURL } from '../../shared/globals';\r\nimport AJAXResourceList, { appendAJAXCacheV3Resource } from '../../components/AJAXResourceList';\r\nimport { CompetencyStyleBlock, renderCompetencyFromRDF } from '../../components/DetailPage/Competency';\r\n\r\nexport function CompetencyFrameworkList(props: { frameworkList: AJAXSettings; }) {\r\n\treturn (\r\n\t\t (\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tLabel: (framework as CompetencyFrameworkType).Name,\r\n\t\t\t\t\t\tContent: \r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t)}\r\n\t\t/>\r\n\t)\r\n}\r\n\r\nexport function CompetencyFramework(props: { framework: CompetencyFrameworkType }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t{props.framework.CTID && {props.framework.Name}}\r\n\t\t\t{!props.framework.CTID && {props.framework.Name}}\r\n\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t{props.framework.Description}\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t{props.framework.Meta_HasPart.filter((competency) => (props.framework.HasTopChild.indexOf(competency.CredentialRegistryURL) > -1)).map((competency) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t)\r\n}\r\n\r\nexport function CompetencyFrameworkAJAX(props: { framework: CompetencyFrameworkType }) {\r\n\tvar applicableCompetencies = props.framework.Meta_HasPart.filter(competency => competency.Meta_IsReferenced);\r\n\tapplicableCompetencies.filter(m => m.CredentialRegistryURL.indexOf(\"_:\") == 0).forEach(competency => {\r\n\t\tappendAJAXCacheV3Resource({\r\n\t\t\tURL: competency.CredentialRegistryURL,\r\n\t\t\tData: competency\r\n\t\t});\r\n\t});\r\n\tvar applicableCompetencyURLs = applicableCompetencies.map(competency => competency.CredentialRegistryURL);\r\n\treturn (\r\n\t\t\r\n\t\t\t{props.framework.CTID && {props.framework.Name}}\r\n\t\t\t{!props.framework.CTID && {props.framework.Name}}\r\n\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t{props.framework.Description}\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t applicableCompetencyURLs.includes(url))}\r\n\t\t\t\t\t\turls={applicableCompetencyURLs}\r\n\t\t\t\t\t\tonSuccess={(data, itemContent, listContent) => renderCompetencyFromRDF(data, itemContent, [], false)}\r\n\t\t\t\t\t\tStyleComponent={CompetencyStyleBlock}\r\n\t\t\t\t\t/>\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t)\r\n}\r\n\r\nexport function Competency(props: { competency: CompetencyType, competencyList: Array }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tprops.competency.Meta_IsReferenced ?\r\n\t\t\t\t\t\t\t :\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t{props.competency.CompetencyCategory ? {props.competency.CompetencyCategory} : null}\r\n\t\t\t\t\t{props.competency.ListID ? {props.competency.ListID} : null}\r\n\t\t\t\t\t{props.competency.CodedNotation ? {props.competency.CodedNotation} : null}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{props.competency.CompetencyLabel ? {props.competency.CompetencyLabel} : null}\r\n\t\t\t\t\t{props.competency.CompetencyText ?
    {props.competency.CompetencyText}
    : null}\r\n\t\t\t\t\t{props.competency.Comment ?
    {props.competency.Comment}
    : null}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t{props.competency.HasChild?.length > 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t{props.competency.HasChild.map(function (childURI) {\r\n\t\t\t\t\t\tconst child = props.competencyList.filter((item) => (item.CredentialRegistryURL == childURI))[0];\r\n\t\t\t\t\t\tif (child) {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t) : null}\r\n\t\t
    \r\n\t)\r\n}\r\n\r\nconst CompetencyWrapper = styled.div`\r\n\tpadding: 5px;\r\n\r\n\t&:not(:last-child) {\r\n\t\tborder-bottom: 1px solid #DDD;\r\n\t}\r\n`;\r\n\r\nconst CompetencyData = styled.div`\r\n\tdisplay: flex;\r\n`;\r\n\r\nconst CompetencyPrefix = styled.div`\r\n\tflex: 1 1 auto;\r\n\tmax-width: 300px;\r\n\tdisplay: flex;\r\n\tmargin-right: 10px;\r\n\tfont-size: 80%;\r\n`;\r\n\r\nconst CompetencyIconItem = styled.div`\r\n\tflex: 1 1 auto;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: center;\r\n\tpadding: 2.5px 5px;\r\n\topacity: 0.8;\r\n`;\r\n\r\nconst CompetencyPrefixItem = styled.div`\r\n\tflex: 1 1 auto;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: center;\r\n\tmin-width: 50px;\r\n\tmax-width: 150px;\r\n\tpadding: 2.5px 5px;\r\n\tbackground-color: #EEE;\r\n\tmargin: 1px;\r\n`;\r\n\r\nconst CompetencyContent = styled.div`\r\n\tflex: 1 1 100%;\r\n`;\r\n\r\nconst CompetencyLabel = styled.div`\r\n\tfont-weight: bold;\r\n`;\r\n\r\nconst CompetencyChildren = styled.div`\r\n\tpadding: 5px 0 0 25px;\r\n`;\r\n","import React, { ReactElement, ReactNode } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { Assessment, ConditionProfile as ConditionProfileType, Outline, QuantitativeValue } from '../../types/external';\r\nimport { Box, BoxLabel, BoxContent, Section, SectionLabel, SectionContent, SectionContentItem } from './Shared';\r\nimport OutlineList from './Outline';\r\nimport JurisdictionProfileList from './JurisdictionProfile';\r\nimport CostManifestList from './CostManifest'\r\nimport CostProfileList from './CostProfile'\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport ValueProfileList from './ValueProfile';\r\nimport DateRange from './DateRange';\r\nimport { TabSetOrSingle } from './TabSelector';\r\nimport { ModalButtonAndWindow } from '../Modal';\r\nimport { CompetencyFrameworkList } from './CompetencyFramework';\r\nimport { widgetGetPluralLabelForText, widgetReplaceSingleLabelInText, widgetReplacePluralLabelInText } from '../../utils/SiteWidgetizer';\r\n\r\nexport default function ConditionProfileList(props: { items: ConditionProfileType[] }) {\r\n\treturn (props.items?.length > 0 &&\r\n\t\t
    \r\n\t\t\t{props.items.map((item) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nexport function ConditionProfile(props: { item: ConditionProfileType }) {\r\n\treturn (props.item &&\r\n\t\t\r\n\t\t\t{props.item.Name || \"Conditions\"}\r\n\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
    {props.item.Description || \"No Description\"}
    \r\n\t\t\t\t\t\t{props.item.Condition?.length > 0 &&\r\n\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t{props.item.Condition.map((condition) => (\r\n\t\t\t\t\t\t\t\t\t
    • {condition}
    • \r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t{props.item.SubjectWebpage &&\r\n\t\t\t\t\t\tSee Web Page for these Conditions\r\n\t\t\t\t\t}\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t{(props.item.DateEffective || props.item.SubmissionOf?.length > 0 || props.item.SubmissionOfDescription || props.item.Weight) && \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tDetails:\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(props.item.SubmissionOf?.length > 0 || props.item.SubmissionOfDescription) &&\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    Submission Of: {props.item.SubmissionOfDescription}
    \r\n\t\t\t\t\t\t\t\t\t{props.item.SubmissionOf?.length > 0 && \r\n\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t\t{props.item.SubmissionOf.map((submissionItem) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    • {submissionItem.indexOf(\"http\") == 0 ? {submissionItem} : <>{submissionItem}}
    • \r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{(props.item.AudienceLevelType?.length > 0 || props.item.AudienceType?.length > 0 || props.item.Experience || props.item.YearsOfExperience || props.item.MinimumAge) &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tApplicable Audience:\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t } />\r\n\t\t\t\t\t\t\t } />\r\n\t\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{(props.item.CommonCosts?.Values?.length > 0 || props.item.EstimatedCost?.length > 0) && \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tCost Information:\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{(props.item.CreditValue?.length > 0 || props.item.CreditUnitTypeDescription) &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tCredit Information:\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{props.item.CreditUnitTypeDescription &&
    {props.item.CreditUnitTypeDescription}
    }\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{props.item.Jurisdiction?.length > 0 &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tJurisdiction Information:\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{props.item.ResidentOf?.length > 0 &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tResidency Information:\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{props.item.TargetCredential?.Values?.length > 0 &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Credentials\")}:\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{props.item.TargetAssessment?.Values?.length > 0 &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Assessments\")}:\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{props.item.TargetLearningOpportunity?.Values?.length > 0 &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Learning Opportunities\")}:\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{props.item.TargetOccupation?.Values?.length > 0 &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Occupations\")}:\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{props.item.TargetJob?.Values?.length > 0 &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{widgetGetPluralLabelForText(\"Jobs\")}:\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t{(props.item.TargetCompetency?.Values?.length > 0 ) &&\r\n\t\t\t\t
    \t\t\t\r\n\t\t\t\tRelated {widgetGetPluralLabelForText(\"Competencies\")}\r\n\t\t\t\t\t }\r\n\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t/>\r\n\t\t\t\t
    \r\n\t\r\n\t\t\t}\r\n\t\t\t\t{props.item.AssertedBy?.Values?.length > 0 &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tAsserted By:\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{props.item.AlternativeCondition?.length > 0 &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tAlternatives and Options:\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t\tLabel: item.Name || \"Option \" + (itemIndex + 1),\r\n\t\t\t\t\t\t\t\t\tContent: \r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\tkey={'alternative-' + props.item.Meta_Id}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t
    \r\n\t\t
    \r\n\t)\r\n}\r\n\r\nexport function getConditionProfileListButtonName(prefixText: string, conditionProfileList: Array): string {\r\n\tif (!conditionProfileList || conditionProfileList.length == 0) {\r\n\t\treturn prefixText + \"Specific Details\";\r\n\t}\r\n\r\n\tvar countsText = [\r\n\t\tsingleOrMulti(getDistinctCount(conditionProfileList, m => m.TargetCredential?.Values, m => m.TargetCredential?.Total || 0), \"{count} Credential{s}\"),\r\n\t\tsingleOrMulti(getDistinctCount(conditionProfileList, m => m.TargetAssessment?.Values, m => m.TargetAssessment?.Total || 0), \"{count} Assessment{s}\"),\r\n\t\tsingleOrMulti(getDistinctCount(conditionProfileList, m => m.TargetLearningOpportunity?.Values, m => m.TargetLearningOpportunity?.Total || 0), \"{count} Learning Opportunit{ies}\"),\r\n\t\tsingleOrMulti(getDistinctCount(conditionProfileList, m => m.TargetOccupation?.Values, m => m.TargetOccupation?.Total || 0), \"{count} Occupation{s}\"),\r\n\t\tsingleOrMulti(getDistinctCount(conditionProfileList, m => m.TargetCompetency?.Values?.flatMap(n => n.Meta_HasPart), m => m.TargetCompetency?.Total || 0), \"{count} Competenc{ies}\"),\r\n\t\tsingleOrMulti(getDistinctCount(conditionProfileList, m => m.AlternativeCondition, m => 0), \"Has {count} Alternative{s}\"),\r\n\t].filter(m => m).join(\", \");\r\n\r\n\treturn prefixText + \" \" + (countsText ? countsText : \"Specific Details\") + (conditionProfileList.length > 1 ? \" (Across \" + conditionProfileList.length + \" Sets of Conditions)\" : \"\");\r\n\r\n\tfunction getDistinctCount(list: Array, getTargets: (profile: ConditionProfileType) => Array | undefined, getFallbackCount: (profile: ConditionProfileType) => number): number {\r\n\t\tvar distinctIDs = list.flatMap(m => getTargets(m) || []).map(m => m.CTID || m.Meta_Id || m.URL || JSON.stringify(m)).filter((value, index, self) => { return self.indexOf(value) == index });\r\n\t\tvar fallbackTotal = list.flatMap(m => getFallbackCount(m)).reduce((prev, next) => prev + next, 0);\r\n\t\treturn distinctIDs.length || fallbackTotal;\r\n\t}\r\n\r\n\tfunction singleOrMulti(count: number, labelTemplate: string) : string {\r\n\t\tvar text = count == 0 ? \"\" : labelTemplate.replace(/{count}/g, count.toString()).replace(/{s}/g, count == 1 ? \"\" : \"s\").replace(/{ies}/g, count == 1 ? \"y\" : \"ies\");\r\n\t\treturn count == 0 ? \"\" : count == 1 ? widgetReplaceSingleLabelInText(text) : widgetReplacePluralLabelInText(text);\r\n\t}\r\n\t\r\n}\r\n\r\nconst ConditionProfileWrapper = styled.div`\r\n\r\n`;\r\n\r\nconst DisplayItem = styled.div`\r\n\r\n`;\r\n","import React from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { ConditionManifest as ConditionManifestType, ConditionProfile as ConditionProfileType } from '../../types/external';\r\nimport { Box, BoxLabel, BoxContent, Section, SectionLabel, SectionContent, SectionContentItem } from './Shared';\r\nimport { TabSetOrSingle } from './TabSelector';\r\nimport { ConditionProfile } from './ConditionProfile';\r\nimport LinkObject from './LinkObject';\r\n\r\nexport default function ConditionManifestList(props: { items: ConditionManifestType[] }) {\r\n\treturn (props.items?.length > 0 &&\r\n\t\t
    \r\n\t\t\t{props.items.map((item) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nexport function ConditionManifest(props: { item: ConditionManifestType }) {\r\n\treturn (props.item &&\r\n\t\t\r\n\t\t\t{props.item.Name || \"Common Conditions\"}\r\n\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{props.item.Description &&
    {props.item.Description}
    }\r\n\t\t\t\t\t\t{props.item.SubjectWebpage && }\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nfunction ConditionProfileSet(props: { label: string, items: ConditionProfileType[] }) {\r\n\treturn (props.items?.length > 0 &&\r\n\t\t
    \r\n\t\t\t{props.label}\r\n\t\t\t\r\n\t\t\t\t {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tLabel: item.Name || \"Option \" + (itemIndex + 1),\r\n\t\t\t\t\t\t\tContent: \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nconst BasicInfo = styled.div`\r\n\tdisplay: flex;\r\n\r\n\t& > div {\r\n\t\tflex: 1 1 auto;\r\n\t}\r\n\r\n\t& > a {\r\n\t\tmargin-left: 10px;\r\n\t}\r\n`;","import React, { ReactElement, ReactNode } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { ProcessProfile as ProcessProfileType } from '../../types/external';\r\nimport { Box, BoxLabel, BoxContent, Section, SectionLabel, SectionContent, SectionContentItem } from './Shared';\r\nimport DateRange from './DateRange';\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport JurisdictionProfileList from './JurisdictionProfile';\r\nimport OutlineList from './Outline';\r\nimport { PlainTextLink } from './LinkObject';\r\nimport LinkObject from './LinkObject';\r\n\r\nexport default function ProcessProfileList(props: { items: ProcessProfileType[] }) {\r\n\treturn (props.items?.length > 0 &&\r\n\t\t
    \r\n\t\t\t{props.items.map((item) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nexport function ProcessProfile(props: { item: ProcessProfileType }) {\r\n\treturn (props.item &&\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
    {props.item.Description || \"No Description\"}
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{props.item.SubjectWebpage && }\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t{(props.item.DataCollectionMethodType || props.item.ExternalInputType?.length > 0 || props.item.ProcessFrequency || props.item.VerificationMethodDescription || props.item.ScoringMethodDescription?.length > 0 || props.item.ScoringMethodExample || props.item.ProcessMethod || props.item.ProcessStandards) && \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\tDetails:\r\n\t\t\t\t\t\t } />\r\n\t\t\t\t\t\t } />\r\n\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t } />\r\n\t\t\t\t\t\t } />\r\n\t\t\t\t\t\t } />\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{props.item.ProcessingAgent?.Values?.length > 0 && (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tProcessing Agent:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t\t{props.item.TargetCredential?.Values?.length > 0 && (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tProcess for Credentials:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t\t{props.item.TargetAssessment?.Values?.length > 0 && (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tProcess for Assessments:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t\t{props.item.TargetLearningOpportunity?.Values?.length > 0 && (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tProcess for Learning Opportunities:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t\t{props.item.TargetCompetencyFramework?.Values?.length > 0 && (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tProcess for Competency Frameworks:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t\t{props.item.Jurisdiction?.length > 0 && (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tJurisdiction Information:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nconst BasicInfo = styled(Section)`\r\n\tdisplay: flex;\r\n\r\n\t& > a {\r\n\t\tmargin-left: auto;\r\n\t}\r\n`;","//Render from Finder API\r\nexport function renderJSONLDMetaTags(resource, broadType, modifierMethod) {\r\n\t//Skip if empty/null/etc\r\n\tif (!resource) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t//Match the broad type to a known type\r\n\tvar renderHelper = [\r\n\t\t{ broadType: \"organization\", renderMethod: renderAPI_Organization },\r\n\t\t{ broadType: \"credential\", renderMethod: renderAPI_Credential },\r\n\t\t{ broadType: \"assessment\", renderMethod: renderAPI_Assessment },\r\n\t\t{ broadType: \"learningopportunity\", renderMethod: renderAPI_LearningOpportunity },\r\n\t\t{ broadType: \"conceptscheme\", renderMethod: renderLD_ConceptScheme },\r\n\t\t{ broadType: \"competencyframework\", renderMethod: renderLD_CompetencyFramework },\r\n\t\t{ broadType: \"competency\", renderMethod: renderLD_Competency },\r\n\t\t{ broadType: \"collection\", renderMethod: renderLD_Collection },\r\n\t\t{ broadType: \"pathway\", renderMethod: renderAPI_Pathway },\r\n\t].find(m => m.broadType == broadType.toLowerCase());\r\n\r\n\t//Get the data and modify as needed\r\n\tvar result = {\r\n\t\t\"@context\": \"https://schema.org/\",\r\n\t\t\"@type\": \"CreativeWork\",\r\n\t};\r\n\r\n\t//Append Common properties\r\n\tappend(result, \"additionalType\", (resource.CTDLType || resource[\"@type\"])?.replace(\"ceterms:\", \"https://purl.org/ctdl/terms/\").replace(\"ceasn:\", \"https://purl.org/ctdlasn/terms/\").replace(\"qdata:\", \"https://credreg.net/qdata/terms/\"));\r\n\tappend(result, \"name\", resource.Name || resource[\"ceterms:name\"] || resource[\"ceasn:name\"] || resource[\"ceasn:competencyLabel\"] || resource[\"skos:prefLabel\"], resource.Meta_Language);\r\n\tappend(result, \"alternateName\", resource.AlternateName || resource[\"ceterms:alternateName\"] || resource[\"skos:altLabel\"], resource.Meta_Language, true);\r\n\tappend(result, \"description\", resource.Description || resource[\"ceterms:description\"] || resource[\"ceasn:description\"] || resource[\"ceasn:competencyText\"] || resource[\"skos:definition\"], resource.Meta_Language);\r\n\tappend(result, \"image\", resource.Image || resource[\"ceterms:image\"]);\r\n\tappend(result, \"sameAs\", resource.RegistryData?.Resource?.URL || resource[\"@id\"]);\r\n\tappend(result, \"identifier\", resource.CTID || resource[\"ceterms:ctid\"], false, false, ctid => { return { \"@type\": \"PropertyValue\", \"propertyID\": \"https://purl.org/ctdl/terms/ctid\", \"value\": ctid } });\r\n\tappend(result, \"inLanguage\", resource.Meta_Language || resource[\"ceterms:inLanguage\"] || resource[\"ceasn:inLanguage\"], null, true);\r\n\r\n\t//Append Type-specific properties\r\n\t(renderHelper?.renderMethod || render_Generic)(resource, result);\r\n\tmodifierMethod?.(resource, result);\r\n\r\n\t//Render the data\r\n\tconsole.log(\"Rendering data for \" + broadType + \" as schema:\" + result[\"@type\"], { source: resource, result: result });\r\n\trenderJSONLDMetaTag(result);\r\n}\r\n//\r\n\r\n//Append data if it exists\r\nfunction append(container, property, value, asLangStringLanguage, asArray, modMethod) {\r\n\tif (value) {\r\n\t\tvar converted;\r\n\r\n\t\t//If the object is already a language map, just use it\r\n\t\tif (typeof (value) == \"object\" && !Array.isArray(value)) {\r\n\t\t\tconverted = value;\r\n\t\t}\r\n\t\t//Otherwise, convert it\r\n\t\telse {\r\n\t\t\t//If the value needs to be an array, ensure that it is one\r\n\t\t\tconverted = asArray ? (Array.isArray(value) ? value : [value]) : value;\r\n\t\t\t//If the value needs to (also) be a langString, turn it into an object with the appropriate language key\r\n\t\t\tif (asLangStringLanguage) {\r\n\t\t\t\tvar temp = {};\r\n\t\t\t\ttemp[asLangStringLanguage] = converted;\r\n\t\t\t\tconverted = temp;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tcontainer[property] = modMethod ? modMethod(converted) : converted;\r\n\t}\r\n}\r\n//\r\n\r\n//Create or update the meta tag in the header\r\nexport function renderJSONLDMetaTag(data) {\r\n\tvar tag = document.head.querySelector(\".jsonldmeta\");\r\n\tif (!tag) {\r\n\t\ttag = document.createElement(\"script\");\r\n\t\ttag.type = \"application/ld+json\";\r\n\t\ttag = document.head.appendChild(tag);\r\n\t}\r\n\ttag.innerHTML = JSON.stringify(data);\r\n}\r\n//\r\n\r\n//--- Methods to render data for specific types ---//\r\nfunction render_Generic(resource, result) {\r\n\t\r\n}\r\n//\r\n\r\nfunction renderAPI_Organization(resource, result) {\r\n\tresult[\"@type\"] = \"Organization\";\r\n}\r\n//\r\n\r\nfunction renderAPI_Credential(resource, result) {\r\n\tresult[\"@type\"] = \"EducationalOccupationalCredential\";\r\n}\r\n//\r\n\r\nfunction renderAPI_Assessment(resource, result) {\r\n\tresult[\"@type\"] = \"Quiz\";\r\n}\r\n//\r\n\r\nfunction renderAPI_LearningOpportunity(resource, result) {\r\n\tresult[\"@type\"] = resource.CTDLType == \"ceterms:LearningProgram\" ? \"EducationalOccupationalProgram\" : \"Course\";\r\n}\r\n//\r\n\r\nfunction renderAPI_Pathway(resource, result) {\r\n\tresult[\"@type\"] = \"Collection\"; //Pathway is almost a subclass of Collection\r\n}\r\n//\r\n\r\nfunction renderLD_ConceptScheme(resource, result) {\r\n\tresult[\"@type\"] = \"https://www.w3.org/2009/08/skos-reference/skos.html#ConceptScheme\";\r\n}\r\n//\r\n\r\nfunction renderLD_CompetencyFramework(resource, result) {\r\n\tresult[\"@type\"] = \"Collection\"; //Competency Framework is a subclass of Collection\r\n}\r\n//\r\n\r\nfunction renderLD_Competency(resource, result) {\r\n\tresult[\"@type\"] = \"DefinedTerm\"; //No schema.org class for Competency\r\n}\r\n//\r\n\r\nfunction renderLD_Collection(resource, result) {\r\n\tresult[\"@type\"] = \"Collection\";\r\n}\r\n//\r\n\r\n","import { useRef, useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport {\r\n MobileAboutDetail,\r\n Description,\r\n Label,\r\n Wrapper,\r\n ListWithoutBullet,\r\n Section,\r\n} from '../../components/DetailPage/styles';\r\nimport { apiUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport orgIcon from '../../assets/images/icons/icon-organization-white-green-01.svg';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport sectorsIcon from '../../assets/images/icons/icon-occupations-and-industries-blue-green-01.svg';\r\nimport processIcon from '../../assets/images/icons/icon-process-blue-green-01.svg';\r\nimport AboutDetail from './AboutDetail';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useMediaQuery, useGet } from '../../hooks';\r\nimport { ModalType } from '../../types/internal';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport { Organization, VerificationServiceProfile, CostManifest, ConditionManifest, ProcessProfile } from '../../types/external';\r\nimport LocationPageSection from '../../components/DetailPage/LocationPageSection';\r\nimport PageBanner from '../../components/DetailPage/PageBanner';\r\nimport QualityAssurancePageSection from '../../components/DetailPage/QualityAssurancePageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport TextLink from '../../components/TextLink';\r\nimport VerificationServiceProfiles from '../../components/VerificationServiceProfile/list';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport CostManifestList from '../../components/DetailPage/CostManifest';\r\nimport ConditionManifestList from '../../components/DetailPage/ConditionManifest';\r\nimport ProcessProfileList from '../../components/DetailPage/ProcessProfile';\r\nimport { renderJSONLDMetaTags } from '../../utils/JSONLDMetaHelper';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from '../../utils/SiteWidgetizer';\r\n\r\n\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function OrganizationPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [orgDataIsLoading, orgDataHasError, getOrgData] = useGet();\r\n const [org, setOrg] = useState({} as Organization);\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n const mapMarkerListeners = useRef>([]);\r\n const [openedModal, setOpenedModal] = useState();\r\n\r\n function onOpenModalClick(modalType: ModalType) {\r\n return () => setOpenedModal(modalType);\r\n }\r\n\r\n function onCloseModalClick() {\r\n setOpenedModal(undefined);\r\n }\r\n\r\n useEffect(() => {\r\n function removeMapMarkerListeners() {\r\n mapMarkerListeners.current.forEach((listener) => {\r\n listener.remove();\r\n });\r\n }\r\n return removeMapMarkerListeners;\r\n }, []);\r\n useEffect(() => {\r\n getOrgData(`${apiUrl}/organization/${id}`, (data: Organization) => {\r\n\t\t\tsetOrg(data);\r\n\t\t\trenderJSONLDMetaTags(data, \"Organization\");\r\n // check condition (prototyping if doing fetch after load - not implemented)\r\n if ( data && data.HasVerificationService && data.HasVerificationService.Total > 0 ) {\r\n\r\n }\r\n // possibly disable button or would have to handle user clicking button before data is available\r\n // prefetch data\r\n // setState()\r\n });\r\n }, [getOrgData, id]);\r\n\r\n\tvar typeLabel = widgetGetSingleLabelForText(org.CTDLTypeLabel, \"Organization\");\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {org.Description && (\r\n {org.Description}\r\n )}\r\n\t\t\t\t\t\t\t\t{org.SubjectWebpage && (\r\n\t\t\t\t\t\t\t\t\t\r\n )}\r\n \r\n {org.MissionAndGoalsStatement && (\r\n \r\n\t\t\t\t\t\t\t\t\t\r\n \r\n )}\r\n {org.MissionAndGoalsStatementDescription && (\r\n \r\n \r\n \r\n )}\r\n {org.AgentPurpose && (\r\n \r\n\t\t\t\t\t\t\t\t\t\r\n \r\n )}\r\n {org.AgentPurposeDescription && (\r\n \r\n \r\n \r\n )}\r\n \r\n\r\n {org.ParentOrganization && org.ParentOrganization.Values && (\r\n \t\r\n\t\t\t\t\t\t\t\t\t\r\n
      \r\n {org.ParentOrganization.Values.map(\r\n (item, index) => (\r\n \r\n \r\n \r\n ),\r\n )}\r\n
    \r\n
    \t\t\r\n\t\t\t\t )}\r\n {org.Department && org.Department.Values && (\r\n \t\r\n \t\t\t\r\n
      \r\n {org.Department.Values.map(\r\n (item, index) => (\r\n \r\n \r\n \r\n ),\r\n )}\r\n
    \r\n
    \t\t\r\n\t\t\t\t )}\r\n {org.SubOrganization && org.SubOrganization.Values && (\r\n \t\r\n\t\t\t\t\t\t\t\t\t\r\n
      \r\n {org.SubOrganization.Values.map(\r\n (item, index) => (\r\n \r\n \r\n \r\n ),\r\n )}\r\n
    \r\n
    \t\t\r\n\t\t\t\t )}\r\n \r\n {isMobile && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {org.AgentSectorType && (\r\n \r\n \r\n \r\n \r\n )}\r\n {org.IndustryType && (\r\n \r\n \r\n \r\n \r\n )}\r\n {org.ServiceType && (\r\n \r\n \r\n \r\n \r\n )}\r\n {org.Keyword && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n\t\t\t\t\t\r\n
    \r\n \r\n \r\n\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\r\n {org.SupportServiceStatement && (\r\n \r\n\t\t\t\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{org.TransferValueStatement && (\r\n \r\n\t\t\t\t\t\t\t\t\t\r\n \r\n )}\r\n \r\n \r\n {org.HasCostManifest && org.HasCostManifest.Total > 0 && (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Cost Manifests\"\r\n\t\t\t\t\t\t\t\t\t\t\tresourceTitle={org.Name}\r\n\t\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\t\toverrideCount={org.HasCostManifest.Total}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\r\n )}\r\n {org.HasConditionManifest && org.HasConditionManifest.Total > 0 && (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Condition Manifests\"\r\n\t\t\t\t\t\t\t\t\t\t\tresourceTitle={org.Name}\r\n\t\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\t\toverrideCount={org.HasConditionManifest.Total}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\r\n )}\r\n \r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Administration Process\"\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={org.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={org.AdministrationProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Appeal Process\"\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={org.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={org.AppealProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Development Process\"\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={org.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={org.DevelopmentProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Maintenance Process\"\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={org.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={org.MaintenanceProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Complaint Process\"\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={org.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={org.ComplaintProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Review Process\"\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={org.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={org.ReviewProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Revocation Process\"\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={org.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={org.RevocationProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n \r\n \r\n \r\n {org.HasVerificationService && org.HasVerificationService.Total > 0 && (\r\n \r\n\t\t\t\t\t\t\t\t\t{/**/}\r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle={widgetGetPluralLabelForText(\"Verification Service Profiles\")}\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={org.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={org.HasVerificationService.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n \r\n )}\r\n }\r\n hideCount={true}\r\n /> \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","export default __webpack_public_path__ + \"static/media/powered_by_credential_registry.3a95e241.png\";","import styled from 'styled-components/macro';\r\nimport { CleanList, ContentDelimiter } from '../common';\r\n\r\nexport const Title = styled.h5`\r\n font-size: ${(props) => props.theme.fontSize.md};\r\n margin: 0 0 0.5em 0;\r\n`;\r\n\r\nexport const FooterTop = styled(ContentDelimiter)`\r\n margin: 0 auto 2rem;\r\n\r\n .site-name {\r\n font-size: ${(props) => props.theme.fontSize.lg};\r\n font-weight: 700;\r\n }\r\n`;\r\n\r\nexport const FooterMiddle = styled(ContentDelimiter)`\r\n margin: 0 auto 2rem;\r\n display: grid;\r\n gap: 20px;\r\n grid-template-columns: repeat(2, 1fr);\r\n\r\n @media (min-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n grid-template-columns: repeat(3, 1fr);\r\n }\r\n\r\n @media (min-width: ${(props) => props.theme.breakpoint.desktop}) {\r\n grid-template-columns: repeat(6, 1fr);\r\n }\r\n`;\r\n\r\nexport const FooterBottom = styled(ContentDelimiter)`\r\n margin: 3rem auto 0;\r\n`;\r\n\r\nexport const FooterMain = styled.footer`\r\n border-top: 1px solid ${(props) => props.theme.color.aquaDark};\r\n padding: 4rem 0 2rem;\r\n\r\n\t@media print {\r\n\t\tdisplay: none;\r\n\t}\r\n`;\r\n\r\nexport const FooterMenu = styled(CleanList)`\r\n margin: 0 0 1.5rem;\r\n\r\n li {\r\n margin-bottom: 0.5em;\r\n }\r\n\r\n a {\r\n color: ${(props) => props.theme.color.blueDark};\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const LogoListWrapper = styled.div`\r\n h5 {\r\n font-size: ${(props) => props.theme.fontSize.md};\r\n font-weight: normal;\r\n margin: 0 0 1.5em 0;\r\n }\r\n`;\r\n\r\nexport const LogoList = styled(CleanList)`\r\n display: grid;\r\n gap: 20px;\r\n grid-template-columns: repeat(2, auto);\r\n\r\n @media (min-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n grid-template-columns: repeat(4, auto);\r\n }\r\n\r\n @media (min-width: ${(props) => props.theme.breakpoint.desktop}) {\r\n grid-template-columns: repeat(7, auto);\r\n }\r\n\r\n li {\r\n margin-bottom: 1rem;\r\n }\r\n\r\n a {\r\n color: ${(props) => props.theme.color.blueDark};\r\n text-decoration: none;\r\n }\r\n\r\n img {\r\n width: 100%;\r\n }\r\n`;\r\n\r\nexport const PoweredBy = styled.img`\r\n\tmax-width:150px;\r\n`;","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { appURL } from '../../shared/globals';\r\nimport poweredByImage from '../../assets/images/common/powered_by_credential_registry.png'\r\nimport {\r\n FooterTop,\r\n FooterMiddle,\r\n FooterMain,\r\n Title,\r\n\tFooterMenu,\r\n\tPoweredBy\r\n} from './styles';\r\n\r\nfunction ItemLink(props: any) {\r\n return (\r\n
  • \r\n {props.children}\r\n
  • \r\n );\r\n}\r\n\r\nfunction ItemA(props: any) {\r\n return (\r\n
  • \r\n {props.children}\r\n
  • \r\n );\r\n}\r\n\r\nexport default function Footer() {\r\n return (\r\n \r\n \r\n\t\t\t\t\r\n \r\n \r\n
    \r\n \r\n Home\r\n Search\r\n Reports and Data\r\n \r\n Benchmark Reports\r\n \r\n \r\n
    \r\n
    \r\n Follow Us:\r\n \r\n \r\n Twitter\r\n \r\n \r\n Facebook\r\n \r\n \r\n YouTube\r\n \r\n \r\n LinkedIn\r\n \r\n \r\n
    \r\n
    \r\n Contact Us:\r\n \r\n \r\n Email Us\r\n \r\n \r\n
    \r\n\r\n
    \r\n Information:\r\n \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tSupported By\r\n\t\t\t\t\t\t\r\n \r\n
    \r\n
    \r\n Policies and Terms of Use:\r\n \r\n \r\n Privacy Policy\r\n \r\n \r\n Terms of Use\r\n \r\n \r\n Publishers Agreement\r\n \r\n \r\n Minimum Data Policy\r\n \r\n \r\n Data Currency Policy\r\n \r\n \r\n
    \r\n
    \r\n Websites:\r\n \r\n \r\n Credential Engine\r\n \r\n \r\n Credential Engine Technical Planning\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","export default __webpack_public_path__ + \"static/media/CE-Icon_3-Course_Blue-Green_High-Res.78a913b1.png\";","export default __webpack_public_path__ + \"static/media/CE-Icon_3-Learning-Program_Blue-Green_High-Res.29110fc0.png\";","export default __webpack_public_path__ + \"static/media/icon-pathwaysets-blue-green-01.3484e979.svg\";","export default __webpack_public_path__ + \"static/media/CE-Icon_9-Scheduled-Offering_Blue-Green_High-Res.bee6094d.png\";","import React, { ReactNode, useEffect, useState, useContext } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { Button } from '../common';\r\nimport { Link } from 'react-router-dom';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faPlus, faCheck, faMapMarkerAlt } from '@fortawesome/free-solid-svg-icons';\r\nimport { legacySourceUrl } from '../../shared/globals';\r\nimport { Assessment,\r\n\t \tCompetencyFramework,\r\n\t \tConceptScheme,\r\n\t \tCredential,\r\n\t LearningOpportunity,\r\n\t\tOrganization,\r\n\t\tPathway,\r\n\t\tPathwaySet,\r\n\t\tTransferValue,\r\n\t\tTransferIntermediary,\r\n\t\tCollection,\r\n\t\tSupportService,\r\n\t\tScheduledOffering,\r\n\t\tOccupation,\r\n\t\tJob,\r\n\t\tTask,\r\n\t\tWorkRole,\r\n\t\tProgressionModel,\r\n\t\tDataSetProfile,\r\n\t\tCredentialingAction,\r\n\t\tRubric,\r\n\t\tIndustry,\r\n\t\tQualificationsFramework,\r\n\t\tAlignmentMap,\r\n\t\tMetric\r\n\t } from '../../types/external';\r\n//\r\nimport assessmentIcon from '../../assets/images/icons/icon-assessments-blue-green-01.svg';\r\nimport competencyFrameworkIcon from '../../assets/images/icons/icon-competencies-blue-green-01.svg';\r\nimport conceptSchemeIcon from '../../assets/images/UpdatedIcons/CE-Icon_18-Concept-Scheme_Blue-Green_High-Res.png';\r\nimport courseIcon from '../../assets/images/UpdatedIcons/CE-Icon_3-Course_Blue-Green_High-Res.png';\r\nimport credentialIcon from '../../assets/images/icons/icon-credentials-blue-green-01.svg';\r\nimport jobIcon from '../../assets/images/UpdatedIcons/CE-Icon_13-Jobs_Blue-Green_High-Res.png';\r\nimport learningOpportunityIcon from '../../assets/images/UpdatedIcons/CE-Icon_3-Learning-Opportunity_Blue-Green_High-Res.png';\r\nimport learningProgramIcon from'../../assets/images/UpdatedIcons/CE-Icon_3-Learning-Program_Blue-Green_High-Res.png';\r\nimport occupationIcon from '../../assets/images/UpdatedIcons/CE-Icon_11-Occupations_Blue-Green_High-Res.png';\r\nimport outcomeDataIcon from '../../assets/images/UpdatedIcons/CE-Icon_8-Outcome-Data_Blue-Green_High-Res.png';\r\nimport organizationIcon from '../../assets/images/icons/icon-organization-blue-green-01.svg';\r\nimport pathwayIcon from '../../assets/images/icons/icon-pathways-blue-green-01.svg';\r\nimport pathwaySetIcon from '../../assets/images/icons/icon-pathwaysets-blue-green-01.svg';\r\nimport progressionModelIcon from '../../assets/images/UpdatedIcons/CE-Icon_19-Progression-Model_Blue-Green_High-Res.png';\r\nimport supportServiceIcon from '../../assets/images/UpdatedIcons/CE-Icon_10-Support_Blue-Green_High-Res.png';\r\nimport taskIcon from '../../assets/images/UpdatedIcons/CE-Icon_15-Tasks_Blue-Green_High-Res.png';\r\nimport transferValueIcon from '../../assets/images/icons/icon-transfer-value-blue-green-01.svg';\r\nimport workRoleIcon from '../../assets/images/UpdatedIcons/CE-Icon_14-Work-Roles_Blue-Green_High-Res.png';\r\nimport qaActionIcon from '../../assets/images/UpdatedIcons/CE-Icon_20-QA-Actions_Blue-Green_High-Res.png';\r\nimport rubricIcon from '../../assets/images/UpdatedIcons/CE-Icon_21-Rubrics_Blue-Green_High-Res.png';\r\nimport metricIcon from '../../assets/images/UpdatedIcons/CE-Icon_22-Metrics_Blue-Green_High-Res.png';\r\nimport industryIcon from '../../assets/images/UpdatedIcons/CE-Icon_12-Industries_Blue-Green_High-Res.png';\r\nimport collectionIcon from '../../assets/images/UpdatedIcons/CE-Icon_6-Collection_Blue-Green_High-Res.png';\r\nimport transferIntermediaryIcon from '../../assets/images/UpdatedIcons/CE-Icon_17-Transfer-Intermediary_Blue-Green_High-Res.png';\r\nimport scheduledOfferingIcon from '../../assets/images/UpdatedIcons/CE-Icon_9-Scheduled-Offering_Blue-Green_High-Res.png';\r\nimport qualificationsFrameworkIcon from '../../assets/images/UpdatedIcons/CE-Icon_23-Qualification-Frameworks_Blue-Green_High-Res.png';\r\nimport alignmentMapIcon from '../../assets/images/UpdatedIcons/CE-Icon_23-Qualification-Frameworks_Blue-Green_High-Res.png';\r\n\r\nimport { MainSearchType } from '../../types/internal';\r\nimport { getCompareItems, addCompareItem, removeCompareItem, updateStateOnCompareChange, getCompareItemByCTID } from '../../utils/LocalStorage';\r\nimport { widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\n\r\n\r\ninterface SearchResultItemProps {\r\n\ttype: string;\r\n\titem: any;\r\n\tshowFooter?: boolean;\r\n\tshowBody?: boolean;\r\n\tlocations?: Array;\r\n\tonLocationButtonClick?: () => void | undefined;\r\n}\r\n\r\nexport default function SearchResultItem(props: SearchResultItemProps) {\r\n\tconst [compareItems, setCompareItems] = useState(getCompareItems());\r\n\r\n\tuseEffect(() => {\r\n\t\tupdateStateOnCompareChange(() => { setCompareItems([...getCompareItems()]); });\r\n\t\tsetCompareItems(getCompareItems());\r\n\t});\r\n\r\n\tasync function addItemToCompareBucket() {\r\n\t\tgetCompareItems().find((item: any) => item.CTID == props.item.CTID) == null ? addCompareItem(props.item) : removeCompareItem(props.item);\r\n\t}\r\n\r\n\tfunction isComparable() {\r\n\t\treturn props.type !== 'pathway' &&\r\n\t\t\tprops.type !== 'pathwayset' && \r\n\t\t\tprops.type !== 'competencyframework' && \r\n\t\t\tprops.type !== 'transfervalue' && \r\n\t\t\tprops.type !== 'transferintermediary' && \r\n\t\t\tprops.type !== 'conceptscheme' && \r\n\t\t\tprops.type !== 'progressionmodel' && \r\n\t\t\tprops.type !== 'outcomedata' && \r\n\t\t\tprops.type !== 'supportservice' && \r\n\t\t\tprops.type !== 'occupation' && \r\n\t\t\tprops.type !== 'job' && \r\n\t\t\tprops.type !== 'task' && \r\n\t\t\tprops.type !== 'workrole' && \r\n\t\t\tprops.type !== 'credentialingaction' && \r\n\t\t\tprops.type !== 'rubric' && \r\n\t\t\tprops.type !== 'metric' && \r\n\t\t\tprops.type !== 'qualificationsframework' &&\r\n\t\t\tprops.type !== 'alignmentmap' && \r\n\t\t\tprops.type !== 'industry';\r\n\t}\r\n\r\n\tfunction getContent() {\r\n\t\tswitch (props.type) {\r\n\t\t\tcase 'organization': return ;\r\n\t\t\tcase 'credential': return ;\r\n\t\t\tcase 'assessment': return ;\r\n\t\t\tcase 'learningopportunity': return ;\r\n\t\t\tcase 'pathway': return ;\r\n\t\t\tcase 'pathwayset': return ;\r\n\t\t\tcase 'competencyframework': return ;\r\n\t\t\tcase 'scheduledoffering': return ;\r\n\t\t\tcase 'supportservice': return ;\r\n\t\t\tcase 'outcomedata': return ;\r\n\r\n\t\t\tcase 'occupation': return ;\r\n\t\t\tcase 'job': return ;\r\n\t\t\tcase 'task': return ;\r\n\t\t\tcase 'workrole': return ;\r\n\r\n\t\t\tcase 'transfervalue': return ;\r\n\t\t\tcase 'transferintermediary': return ;\r\n\t\t\tcase 'conceptscheme': return ;\r\n\t\t\tcase 'collection': return ;\r\n\t\t\tcase 'progressionmodel': return ;\r\n\t\t\tcase 'credentialingaction': return ;\r\n\t\t\tcase 'rubric': return ;\r\n\t\t\tcase 'metric': return ;\r\n\t\t\tcase 'industry': return ;\r\n\r\n\t\t\tcase 'qualificationsframework': return ;\r\n\t\t\tcase 'alignmentmap': return ;\r\n\r\n\t\t\tdefault: return null;\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{getContent()}\r\n\t\t\t\r\n\t\t\t\t{isComparable() && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{getCompareItemByCTID(props.item.CTID) == null ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\tCompare{' '}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nfunction LocationsButton(props: { locations?: Array, onLocationButtonClick?: () => void | undefined }) {\r\n\treturn props.locations && props.locations.length > 0 && (\r\n\t\t\r\n\t\t\t{props.locations.length == 1 ? \"1 Location\" : props.locations.length + \" Locations\"}\r\n\t\t\t\r\n\t\t\r\n\t) || null;\r\n}\r\n\r\nexport function OrganizationSearchResultItem(props: { item: Organization, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport function CredentialSearchResultItem(props: { item: Credential, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport function AssessmentSearchResultItem(props: { item: Assessment, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport function LearningOpportunitySearchResultItem(props: { item: LearningOpportunity, showFooter?: boolean, showBody?: boolean }) {\r\n\tvar icon = ({\r\n\t\t\"ceterms:LearningOpportunityProfile\": learningOpportunityIcon,\r\n\t\t\"ceterms:LearningProgram\": learningProgramIcon,\r\n\t\t\"ceterms:Course\": courseIcon\r\n\t} as any)[props.item.CTDLType] || learningOpportunityIcon;\r\n\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport function CompetencyFrameworkSearchResultItem(props: { item: CompetencyFramework, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport function PathwaySearchResultItem(props: { item: Pathway, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport function PathwaySetSearchResultItem(props: { item: PathwaySet, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\nexport function ScheduledOfferingSearchResultItem(props: { item: ScheduledOffering, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\nexport function SupportServiceSearchResultItem(props: { item: SupportService, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\nexport function OutcomeDataSearchResultItem(props: { item: DataSetProfile, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\nexport function JobSearchResultItem(props: { item: Job, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\nexport function OccupationSearchResultItem(props: { item: Occupation, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\nexport function WorkRoleSearchResultItem(props: { item: WorkRole, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\nexport function TaskSearchResultItem(props: { item: Task, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\nexport function CredentialingActionSearchResultItem(props: { item: CredentialingAction, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\nexport function RubricSearchResultItem(props: { item: Rubric, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\nexport function MetricSearchResultItem(props: { item: Metric, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\nexport function IndustrySearchResultItem(props: { item: Industry, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport function QualificationsFrameworkSearchResultItem(props: { item: QualificationsFramework, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\nexport function AlignmentMapSearchResultItem(props: { item: AlignmentMap, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\nexport function TransferValueSearchResultItem(props: { item: TransferValue, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t m).join(\" - \")}\r\n\t\t/>\r\n\t);\r\n}\r\nexport function TransferIntermediarySearchResultItem(props: { item: TransferIntermediary, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\nexport function ConceptSchemeSearchResultItem(props: { item: ConceptScheme, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\nexport function ProgressionModelSearchResultItem(props: { item: ProgressionModel, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport function CollectionSearchResultItem(props: { item: Collection, showFooter?: boolean, showBody?: boolean }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\n\r\ninterface BaseResultItemProps {\r\n\ticon: string;\r\n\thasBadge?: boolean;\r\n\tfallBackIcon?: string;\r\n\tpreTitle?: string;\r\n\ttitle: string;\r\n\tsubTitle?: string;\r\n\tbody: string;\r\n\tfooter?: ReactNode;\r\n\ttitleUrl?: string;\r\n\tsubTitleUrl?: string;\r\n\tshowFooter?: boolean;\r\n\tshowBody?: boolean;\r\n\tlastUpdated?: string;\r\n\theaderExtraText?: string;\r\n}\r\n\r\nexport function BaseResultItem(props: BaseResultItemProps) {\r\n\tconst [showBody, setShowBody] = useState(props.showBody || false);\r\n\tconst [showFooter, setShowFooter] = useState(props.showFooter || false);\r\n\tconst [showMoreBody, setShowMoreBody] = useState(false);\r\n\r\n\tfunction onLoadingIconError(e: any) {\r\n\t\te.target.src = props.fallBackIcon;\r\n\t}\r\n\r\n\tfunction renderBody() {\r\n\t\tconst body = props.body || '';\r\n\t\tif (showMoreBody) {\r\n\t\t\treturn {body};\r\n\t\t} else {\r\n\t\t\tif (body.length > 300) {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{body.substring(0, 300) + ' '}\r\n\t\t\t\t\t\t setShowMoreBody(true)}>...more...\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\treturn {body.substring(0, 300)};\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tsetShowBody(props.showBody || false);\r\n\t\tsetShowFooter(props.showFooter || false);\r\n\t}, [props.showBody, props.showFooter]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{props.hasBadge && }\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* setShowBody(!showBody)} type=\"button\">Show {showBody ? 'Less' : 'More'}*/}\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t{props.preTitle}\r\n\t\t\t\t\t{props.title}\r\n\t\t\t\t\t{props.subTitleUrl && {props.subTitle}}\r\n\t\t\t\t\tLast Updated {props.lastUpdated}\r\n\t\t\t\t\t{props.headerExtraText && {props.headerExtraText}}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t{renderBody()}\r\n\t\t\t{showFooter && props.footer &&
    {props.footer}
    }\r\n\t\t
    \r\n\t);\r\n}\r\n\r\nconst Toggler = styled.button`\r\n background: none;\r\n border: 0 none;\r\n bottom: 0;\r\n box-shadow: none;\r\n color: ${(p) => p.theme.color.brown};\r\n left: 0;\r\n padding: 0;\r\n position: absolute;\r\n text-decoration: underline;\r\n\r\n @media (min-width: ${(p) => p.theme.breakpoint.tabletPortrait}) {\r\n position: static;\r\n }\r\n`;\r\n\r\nconst MoreButton = styled.span`\r\n color: ${(p) => p.theme.color.brown};\r\n cursor: pointer;\r\n`;\r\n\r\nconst Header = styled.div`\r\n @media (min-width: ${(p) => p.theme.breakpoint.tabletPortrait}) {\r\n display: grid;\r\n gap: 20px;\r\n grid-template-columns: 80px 1fr;\r\n }\r\n`;\r\n\r\nconst Icon = styled.img`\r\n height: auto;\r\n left: 0;\r\n position: absolute;\r\n top: 0;\r\n width: 60px;\r\n\r\n @media (min-width: ${(p) => p.theme.breakpoint.tabletPortrait}) {\r\n position: static;\r\n width: 80px;\r\n }\r\n`;\r\n\r\nconst PreTitle = styled.div`\r\n left: 80px;\r\n position: absolute;\r\n top: 0;\r\n margin-right: 60px;\r\n\r\n @media (min-width: ${(p) => p.theme.breakpoint.tabletPortrait}) {\r\n margin: 0;\r\n position: static;\r\n }\r\n`;\r\n\r\nconst Title = styled(Link)`\r\n margin: 0 0 0.5rem;\r\n cursor: pointer;\r\n font-size: ${(props) => props.theme.fontSize.xxl};\r\n line-height: 1.1667;\r\n font-weight: bold;\r\n text-decoration: none;\r\n`;\r\n\r\nconst SubTitle = styled(Link)`\r\n display: block;\r\n font-size: ${(props) => props.theme.fontSize.lg};\r\n line-height: 1.125;\r\n font-weight: 700;\r\n cursor: pointer;\r\n text-decoration: none;\r\n`;\r\n\r\nconst Body = styled.div`\r\n margin-top: 1rem;\r\n overflow: hidden;\r\n max-height: 0;\r\n transition: max-height 0.15s ease-out;\r\n`;\r\n\r\nconst Footer = styled.div`\r\n gap: 10px;\r\n overflow: hidden;\r\n margin-top: 1rem;\r\n max-height: 0;\r\n transition: max-height 0.25s ease-out;\r\n\r\n button {\r\n margin: 0.5rem 0;\r\n }\r\n\r\n @media (min-width: ${(p) => p.theme.breakpoint.tabletPortrait}) {\r\n display: flex;\r\n }\r\n`;\r\n\r\nconst Wrap = styled.div`\r\n padding: 80px 0 1.5rem;\r\n position: relative;\r\n\r\n &.open {\r\n ${Body},\r\n ${Footer} {\r\n max-height: 500px;\r\n transition: max-height 0.25s ease-in;\r\n }\r\n }\r\n\r\n @media (min-width: ${(p) => p.theme.breakpoint.tabletPortrait}) {\r\n display: grid;\r\n gap: 30px;\r\n grid-template-columns: 1fr auto;\r\n padding: 0;\r\n }\r\n`;\r\n\r\nconst ContentWrap = styled.div`\r\n &.open {\r\n ${Body},\r\n ${Footer} {\r\n max-height: 500px;\r\n transition: max-height 0.25s ease-in;\r\n }\r\n }\r\n`;\r\n\r\nconst CompareButton = styled(Button)`\r\n display: flex;\r\n align-items: center;\r\n height: 40px;\r\n min-width: 40px;\r\n padding: 0;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n\r\n @media (min-width: ${(p) => p.theme.breakpoint.tabletPortrait}) {\r\n position: static;\r\n }\r\n`;\r\n\r\nconst ButtonText = styled.span`\r\n align-items: center;\r\n display: none;\r\n justify-content: center;\r\n padding: 0 1.65em;\r\n\r\n @media (min-width: ${(p) => p.theme.breakpoint.tabletPortrait}) {\r\n display: flex;\r\n }\r\n`;\r\n\r\nconst ButtonIcon = styled.span`\r\n align-items: center;\r\n display: flex;\r\n height: 40px;\r\n justify-content: center;\r\n width: 40px;\r\n\r\n @media (min-width: ${(p) => p.theme.breakpoint.tabletPortrait}) {\r\n border-left: 1px solid ${(p) => p.theme.color.white};\r\n }\r\n`;\r\n\r\nconst SButtonIcon = styled(ButtonIcon)`\r\n border: none;\r\n\tmargin: 0 auto;\r\n`;\r\n\r\nconst IconWrapper = styled.div`\r\n\tposition: relative;\r\n\r\n @media (max-width: ${(p) => p.theme.breakpoint.tabletPortrait}) {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst BadgeIcon = styled.img`\r\n\tposition: absolute;\r\n\tbottom: -5px;\r\n\tright: -15px;\r\n\tmax-width: 50px;\r\n\tmax-height: 50px;\r\n`;\r\n\r\nconst LastUpdated = styled.div`\r\n\tfont-style: italic;\r\n\topacity: 0.8;\r\n\tfont-size: 85%;\r\n\tpadding: 2px 0;\r\n`;\r\n\r\nconst ResultButtonWrapper = styled.div`\r\n\tmax-width: 165px;\r\n\t& > * {\r\n\t\twidth: 100%;\r\n\t\tmargin-bottom: 5px;\r\n\t}\r\n`;\r\n\r\nconst LocationsButtonWrapper = styled(Button)`\r\n\tmin-width: 0;\r\n\t& > svg { margin-left: 10px; }\r\n`;\r\n\r\nconst HeaderExtraText = styled.div`\r\n\r\n`;\r\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport styled from 'styled-components/macro';\r\nimport { Button } from '../../components/common';\r\nimport { HStack } from '../../components/Stack';\r\nimport { widgetGetColor } from '../../utils/SiteWidgetizer';\r\n\r\nexport const Wrapper = styled.div`\r\n max-width: ${(props) => props.theme.maxWidth};\r\n`;\r\n\r\nexport const TopRegion = styled.div`\r\n background-color: ${(p) => p.theme.color.greyLight};\r\n padding: 40px 100px;\r\n @media (max-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n padding: 20px;\r\n }\r\n`;\r\n\r\nexport const ResultsSection = styled(HStack)`\r\n position: relative;\r\n justify-content: center;\r\n`;\r\n\r\nexport const ResultsSectionBody = styled.div`\r\n width: 100%;\r\n padding: 0 20px;\r\n`;\r\n\r\nexport const ResultList = styled.div`\r\n max-width: 1140px;\r\n width: 100%;\r\n`;\r\n\r\nexport const ResultItem = styled.div`\r\n padding: 2rem 0;\r\n\ttransition: background-color 0.25s;\r\n\r\n &:not(:last-child) {\r\n border-bottom: 1px solid ${(p) => widgetGetColor(\"SiteHeader\", false, p.theme.color.aquaDark)};\r\n }\r\n\r\n\t&.highlighted {\r\n\t\tbackground-color: #5F7;\r\n\t}\r\n`;\r\n\r\nexport const ResultBodytHeader = styled(HStack)`\r\n justify-content: space-between;\r\n align-items: center;\r\n margin: auto;\r\n border-bottom: 4px solid ${(props) => widgetGetColor(\"SiteHeader\", false, props.theme.color.aquaDark)};\r\n flex-wrap: wrap;\r\n max-width: 1140px;\r\n`;\r\n\r\nexport const ResultListHeaderSection = styled(HStack)`\r\n align-items: center;\r\n flex-wrap: wrap;\r\n\r\n > * {\r\n margin-bottom: 10px;\r\n }\r\n`;\r\n\r\nexport const ResultBodyContent = styled(HStack)`\r\n border-top: 1px solid ${(props) => widgetGetColor(\"SiteHeader\", false, props.theme.color.aquaDark)};\r\n justify-content: center;\r\n @media (max-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n flex-wrap: wrap;\r\n }\r\n`;\r\n\r\nexport const FilterButton = styled(Button)`\r\n min-width: 80px;\r\n color: ${(props) => widgetGetColor(\"SearchResultButton\", true, props.theme.color.aquaDark)};\r\n\tbackground-color: ${(props) => widgetGetColor(\"SearchResultButton\", false, \"\")};\r\n`;\r\n\r\nexport const ButtonIcon = styled(FontAwesomeIcon)`\r\n padding: 0 5px;\r\n`;\r\n\r\nexport const IconButton = styled(Button)`\r\n flex: 0 1 auto;\r\n min-width: 80px;\r\n padding: 0.2em;\r\n`;\r\n\r\nexport const ExportButton = styled(Button)`\r\n flex: 0 1 auto;\r\n min-width: 80px;\r\n padding: 0.2em;\r\n\theight: 40px;\r\n`;\r\n\r\nexport const DropdownSection = styled.div<{ minWidth?: string }>`\r\n flex: 0 1 auto;\r\n min-width: ${(props) => props.minWidth || '120px'};\r\n @media (max-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n flex: 1;\r\n }\r\n`;\r\n\r\nexport const DropdownGroup = styled(HStack)`\r\n @media (max-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n flex-basis: 100%; // force wrap\r\n }\r\n`;\r\n\r\nexport const GroupButton = styled(HStack)`\r\n flex: 0 1 auto;\r\n`;\r\n\r\nexport const FilterPills = styled(HStack)`\r\n padding: 10px;\r\n flex-wrap: wrap;\r\n > * {\r\n margin-bottom: 5px;\r\n }\r\n max-width: 1140px;\r\n margin: auto;\r\n`;\r\n\r\nexport const PillContent = styled.p`\r\n margin: 0;\r\n`;\r\n\r\nexport const ResultCount = styled.h2`\r\n padding-right: 20px;\r\n @media (max-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n max-width: 200px;\r\n }\r\n`;\r\n\r\nexport const LoadingIndicatorWrapper = styled.div`\r\n text-align: center;\r\n padding: 50px;\r\n`;\r\n\r\nexport const ResultListItems = styled.div``;\r\n\r\nexport const MapWrapper = styled.div`\r\n padding: 20px 0px 20px 20px;\r\n width: 100%;\r\n height: 100vh;\r\n\tmax-height: 1000px;\r\n position: sticky;\r\n top: 0;\r\n order: 2;\r\n @media (max-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n order: 0;\r\n padding: 20px 0;\r\n position: static;\r\n height: 350px;\r\n }\r\n`;\r\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport styled from 'styled-components/macro';\r\nimport { Button } from '../common';\r\nimport { HStack, VStack } from '../Stack';\r\nimport { widgetGetColor } from '../../utils/SiteWidgetizer';\r\n\r\nexport const Wrapper = styled.div`\r\n background-color: ${(props) => widgetGetColor(\"SiteHeader\", false, props.theme.color.blueDark)};\r\n color: ${(props) => widgetGetColor(\"SiteHeader\", true, props.theme.color.white)};\r\n padding: 20px;\r\n min-width: 350px;\r\n max-width: 350px;\r\n\r\n @media (max-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n z-index: 10;\r\n }\r\n`;\r\n\r\nexport const TitleBlock = styled(HStack)`\r\n justify-content: space-between;\r\n border-bottom: 4px solid ${(props) => widgetGetColor(\"SiteHeader\", true, props.theme.color.aquaDark)};\r\n padding-bottom: 20px;\r\n`;\r\nexport const Title = styled.h2`\r\n color: ${(props) => widgetGetColor(\"SiteHeader\", true, props.theme.color.white)};\r\n margin: 0;\r\n`;\r\n\r\nexport const HideButton = styled.button`\r\n background: transparent;\r\n color: ${(props) => widgetGetColor(\"SiteHeader\", true, props.theme.color.white)};\r\n border: none;\r\n align-items: center;\r\n display: flex;\r\n padding: 0;\r\n`;\r\n\r\nexport const Checkbox = styled.input``;\r\n\r\nexport const FilterItemOption = styled(VStack)`\r\n padding: 5px 0;\r\n\r\n input {\r\n background-color: ${(props) => props.theme.color.greyDark};\r\n padding: 5px;\r\n color: ${(props) => widgetGetColor(\"SiteHeader\", true, props.theme.color.white)};\r\n font-size: ${(props) => props.theme.fontSize.sm};\r\n }\r\n`;\r\nexport const FilterItemLabel = styled.p`\r\n margin: 0;\r\n cursor: pointer;\r\n`;\r\nexport const FilterItemDescription = styled.p`\r\n margin: 0;\r\n font-size: ${(props) => props.theme.fontSize.sm};\r\n`;\r\n\r\nexport const FilterItemAddButton = styled(Button)`\r\n padding: 0 10px;\r\n font-weight: normal;\r\n min-width: 50px;\r\n font-size: ${(props) => props.theme.fontSize.sm};\r\n`;\r\n\r\nexport const AddedItem = styled(HStack)`\r\n justify-content: space-between;\r\n align-items: center;\r\n border-radius: 10px;\r\n padding: 0 10px;\r\n background-color: ${(props) => props.theme.color.greyDark};\r\n`;\r\n\r\nexport const IconButton = styled(FontAwesomeIcon)`\r\n cursor: pointer;\r\n`;\r\n\r\nexport const StyledFilterOption = styled.button`\r\n font-size: ${(props) => props.theme.fontSize.sm};\r\n background-color: ${(props) => widgetGetColor(\"SiteHeader\", false, props.theme.color.blueDark)};\r\n text-align: left;\r\n color: ${(props) => widgetGetColor(\"SiteHeader\", true, props.theme.color.white)};\r\n width: 100%;\r\n padding: 10px;\r\n border: 1px solid ${(props) => widgetGetColor(\"SiteHeader\", true, props.theme.color.aquaLight)};\r\n &:hover {\r\n background-color: ${(props) => widgetGetColor(\"SiteHeader\", true, props.theme.color.greyDark)};\r\n color: ${(props) => widgetGetColor(\"SiteHeader\", false, \"white\")};\r\n }\r\n`;\r\n","import React, { useState, useContext } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { HStack, HStackFilterItem } from '../Stack';\r\nimport AutoCompletionTextField from '../AutoCompletionTextField';\r\nimport {\r\n isCheckboxFilter,\r\n isAutocompleteFilter,\r\n isTextboxFilter,\r\n} from '../../utils';\r\nimport { autocompleteFilterSearchApiUrl } from '../../shared/globals';\r\nimport axios from 'axios';\r\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\r\nimport { Filter, FilterItem } from '../../types/external';\r\n//import { convertFilterItemToIFilterItem } from '../../types/converters';\r\nimport { FilterContext, QueryContext } from '../../App';\r\nimport { constructSearchQuery } from '../../services/api';\r\nimport {\r\n StyledFilterOption,\r\n Checkbox,\r\n FilterItemAddButton,\r\n FilterItemDescription,\r\n FilterItemLabel,\r\n FilterItemOption,\r\n AddedItem,\r\n IconButton,\r\n} from './styles';\r\nimport { widgetReplacePluralLabelInText, widgetReplaceSingleLabelInText, widgetApplyWidgetToQuery, widgetGetSingleLabelForText } from '../../utils/SiteWidgetizer';\r\nimport { addFilterItem, getCurrentQuery, removeFilterItem, toggleFilterItem, updateCurrentQuery } from \"../../utils/SearchHelper\";\r\n\r\ninterface FilterItemProps {\r\n searchType: string;\r\n filter: Filter;\r\n filterIdentifier: string;\r\n item: FilterItem;\r\n autoCompleteFilterItems: FilterItem[];\r\n status: boolean;\r\n onSelectFilter: (filter: Filter, item: FilterItem) => void;\r\n}\r\n\r\nexport default function CFilterItem(props: FilterItemProps) {\r\n const isCheckbox = isCheckboxFilter(props.item);\r\n const isAutocompleteTextBox = isAutocompleteFilter(props.item);\r\n const isTextBox = isTextboxFilter(props.item);\r\n\tconst [searchText, setSearchText] = useState('');\r\n\tconst queryContext = useContext(QueryContext);\r\n\tconst filterContext = useContext(FilterContext);\r\n\r\n\r\n function getOptionLabel(item: FilterItem) {\r\n return item.Label || '';\r\n }\r\n\r\n\tasync function getAutoCompleteSuggestions(text: string) {\r\n setSearchText(text);\r\n\r\n\t\tconst query = {\r\n\t\t\t...constructSearchQuery(queryContext.query, filterContext[queryContext.query.SearchType]),\r\n\t\t\tKeywords: text,\r\n\t\t\tAutocompleteContext: props.filter.URI\r\n\t\t};\r\n\r\n\t\twidgetApplyWidgetToQuery(query, queryContext.query.SearchType);\r\n\r\n try {\r\n\t\t\tconst url = `${autocompleteFilterSearchApiUrl}`;\r\n const res = await axios.post(url, query);\r\n const data = res.data;\r\n if (data.Successful) {\r\n // TODO: API should return consistent format, empty Items array\r\n\t\t\t\tif (data.Result.Items) {\r\n\t\t\t\t\treturn data.Result.Items;\r\n }\r\n }\r\n return [];\r\n } catch (error) {\r\n return [];\r\n }\r\n\t}\r\n\r\n function onTextBoxSearchChange(text: string) {\r\n\t\tsetSearchText(text);\r\n\t\tif (isAutocompleteTextBox) {\r\n\t\t\treturn getAutoCompleteSuggestions(text);\r\n\t\t}\r\n\t\treturn [];\r\n\t}\r\n\r\n\tfunction onSelectSuggestedItem(suggestItem: FilterItem) {\r\n\t\tif (isAutocompleteTextBox) {\r\n\t\t\taddFilterItem(props.filter.Id, props.filter.URI, props.filter.Label, suggestItem.Id, \"\", suggestItem.Text); //Don't use suggestItem.URI because all suggested items have the same URI and it causes problems later\r\n\t\t}\r\n\t}\r\n\r\n\tfunction onAddItemFromTextBox() {\r\n\t\tsearchText && addFilterItem(props.filter.Id, props.filter.URI, props.filter.Label, 0, \"\", searchText);\r\n\t}\r\n\r\n function renderFilterOption(item: FilterItem) {\r\n return (\r\n \r\n {item.Label || item.Text}\r\n \r\n );\r\n }\r\n\r\n\tfunction isChecked(filterID: any, itemID: any) {\r\n\t\treturn (getCurrentQuery().MainFilters || []).find((m: any) => m.Id == filterID)?.Items.find((m: any) => m.Id == itemID) != null;\r\n\t}\r\n\r\n\tfunction toggleCheckBoxItem() {\r\n\t\t//Toggle the item in the data\r\n\t\ttoggleFilterItem(props.filter.Id, props.filter.URI, props.filter.Label, props.item.Id, props.item.URI, props.item.Label);\r\n\r\n\t\t//Find out whether the box is checked\r\n\t\tvar isTheBoxChecked = isChecked(props.filter.Id, props.item.Id);\r\n\r\n\t\t//Find the checkbox in the HTML, if present (based on either its ID or its URI), and force it to reflect the proper status\r\n\t\tvar box1 = (document.querySelector(\"[data-filterid='\" + props.filter.Id + \"'] [data-filteritemid='\" + props.item.Id + \"']\") as any);\r\n\t\tbox1 && (box1.checked = isTheBoxChecked);\r\n\t\tvar box2 = (document.querySelector(\"[data-filterid='\" + props.filter.Id + \"'] [data-filteritemuri='\" + props.item.URI + \"']\") as any);\r\n\t\tbox2 && (box2.checked = isTheBoxChecked);\r\n\t}\r\n\r\n if (isCheckbox) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n \r\n {widgetGetSingleLabelForText(props.item.Label)}\r\n {widgetReplaceSingleLabelInText(widgetReplacePluralLabelInText(props.item.Description))}\r\n \r\n\t\t\t\r\n );\r\n }\r\n\r\n\tif (isTextBox || isAutocompleteTextBox) {\r\n\t\tvar currentItems = (getCurrentQuery().MainFilters || []).find((m: any) => m.Id == props.filter.Id)?.Items.filter((m: any) => !m.URI) || [];\r\n return (\r\n \r\n {props.item.Label}\r\n\t\t\t\t\r\n \r\n \r\n Add\r\n \r\n\t\t\t\t\r\n\t\t\t\t{currentItems.map((item: any) => (\r\n\t\t\t\t\t\r\n {item.Text}\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\tremoveFilterItem(props.filter.Id, props.filter.URI, props.filter.Label, 0, \"\", item.Text);\r\n\t\t\t\t\t\t}} />\r\n \r\n ))}\r\n \r\n );\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction RemoveItem(props: { onClick: () => void }) {\r\n\treturn \r\n\t\t\r\n\t\r\n}\r\n\r\nconst RemoveItemButton = styled.button`\r\n\tbackground-color: transparent;\r\n\tcolor: #FFF;\r\n\tborder: none;\r\n`;","import React, { useEffect, useRef, useState } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport {\r\n faAngleDown,\r\n faAngleLeft,\r\n faAngleRight,\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport { TitleBlock, Wrapper, Title, HideButton } from './styles';\r\nimport CFilterItem from './CFilterItem';\r\nimport { isCheckboxFilter } from '../../utils';\r\nimport { MainSearchType } from '../../types/internal';\r\nimport { Filter, FilterItem } from '../../types/external';\r\nimport { widgetGetColor, widgetGetPluralLabelForText } from '../../utils/SiteWidgetizer';\r\n\r\n// driven by categoryId and Id\r\n\r\ninterface Props {\r\n searchType: string;\r\n availableFilters: Filter[];\r\n currentFilters: Array;\r\n onHide: () => void;\r\n onUpdateFilter: (filter: Filter, item: FilterItem) => void;\r\n}\r\n\r\nexport default function FilterPanel(props: Props) {\r\n const ref = useRef(null);\r\n\r\n\tfunction getPanelTitle(searchType: string) {\r\n\t\treturn \"Filter \" + widgetGetPluralLabelForText(({\r\n\t\t\t\"credential\": \"Credentials\",\r\n\t\t\t\"assessment\": \"Assessments\",\r\n\t\t\t\"competencyFramework\": \"Competency Frameworks\",\r\n\t\t\t\"collection\": \"Collections\",\r\n\t\t\t\"pathway\": \"Pathways\",\r\n\t\t\t\"pathwayset\": \"Pathway Sets\",\r\n\t\t\t\"learningopportunity\": \"Learning Opportunities\",\r\n\t\t\t\"scheduledoffering\": \"Scheduled Offerings\",\r\n\t\t\t\"supportservice\": \"Support Services\",\r\n\t\t\t\"occupation\": \"Occupations\",\r\n\t\t\t\"job\": \"Jobs\",\r\n\t\t\t\"workrole\": \"Work Roles\",\r\n\t\t\t\"task\": \"Tasks\",\r\n\t\t\t\"transfervalue\": \"Transfer Values\",\r\n\t\t\t\"transferintermediary\": \"Transfer Intermediaries\",\r\n \"conceptscheme\": \"Concept Schemes\",\r\n \"progressionmodel\": \"Progression Models\",\r\n \"outcomedata\": \"Outcome Data\",\r\n \"datasetprofile\": \"Outcome Data\",\r\n \"organization\": \"Organizations\",\r\n \"credentialingaction\":\"Quality Assurance Actions\",\r\n \"rubric\": \"Rubrics\",\r\n \"metric\": \"Metrics\",\r\n \"qualificationsframework\": \"Qualifications Frameworks\",\r\n \"alignmentmap\": \"Alignment Maps\",\r\n \"industry\": \"Industries\"\r\n\t\t} as any)[searchType] || \"Data\");\r\n }\r\n\r\n function onHide() {\r\n props.onHide();\r\n }\r\n\r\n function getStatusOfFilterItem(\r\n filter: Filter,\r\n filterItem: FilterItem,\r\n ) {\r\n // logic to check if the checkbox is checked\r\n\t\tconst isCheckbox = isCheckboxFilter(filterItem);\r\n\t\tvar currentFilters = props.currentFilters || [];\r\n\t\tif (isCheckbox && currentFilters.find(m => m.Id == filter.Id)) {\r\n\t\t\treturn (currentFilters || []).find(m => m.Id == filter.Id)?.Items?.some(\r\n (item) => {\r\n\t\t\t\t\treturn item.InterfaceType == filterItem.InterfaceType && (item.Id ? item.Id == filterItem.Id : (item.URI == filterItem.URI));\r\n },\r\n ) || false;\r\n }\r\n return false;\r\n }\r\n\r\n function getAddedFilterItemsFromAutocomplete(filterIdentifier: string) {\r\n return (\r\n\t\t\tprops.currentFilters.find(m => m.Id == filterIdentifier)?.Items.filter(\r\n (item) => item.Id !== undefined,\r\n ) || []\r\n );\r\n }\r\n\r\n useEffect(() => {\r\n if (ref.current) {\r\n ref.current.focus();\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n {getPanelTitle(props.searchType)}\r\n \r\n \r\n Hide\r\n \r\n \r\n {props.availableFilters.map((filter, index) => (\r\n \r\n ))}\r\n \r\n );\r\n}\r\n\r\ninterface FilterTypeProps {\r\n searchType: string;\r\n filter: Filter;\r\n filterIdentifier: string;\r\n autoCompleteFilterItems: FilterItem[];\r\n getStatus: (filter: Filter, filterItem: FilterItem) => boolean;\r\n onSelectFilter: (filter: Filter, item: FilterItem) => void;\r\n}\r\n\r\nconst FilterTypeWrapper = styled.div``;\r\nconst FilterTypeTitle = styled.h4`\r\n cursor: pointer;\r\n\tcolor: ${(props) => widgetGetColor(\"SiteHeader\", true, props.theme.color.white)};\r\n`;\r\nconst FilterButton = styled.button`\r\n display: flex;\r\n\twidth: 100%;\r\n border: none;\r\n background: transparent;\r\n color: ${(p) => p.theme.color.white};\r\n align-items: center;\r\n padding: 0;\r\n\r\n\t&:hover, :focus {\r\n\t\tcursor: pointer;\r\n\t\tbackground-color: rgba(255,255,255,0.1);\r\n\t}\r\n`;\r\n\r\nfunction FilterType(props: FilterTypeProps) {\r\n const [expanded, setExpanded] = useState(false);\r\n\r\n return (\r\n\t\t\r\n setExpanded(!expanded)}>\r\n \r\n {props.filter.Label}\r\n \r\n {expanded &&\r\n props.filter.Items.map((item, index) => (\r\n \r\n ))}\r\n \r\n );\r\n}\r\n","export default __webpack_public_path__ + \"static/media/icon-competency-framework-white-green-01.db6efbbb.svg\";","import React from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { MainSearchType } from '../../types/internal';\r\n\r\nimport organizationIcon from '../../assets/images/icons/icon-organization-blue-green-01.svg';\r\nimport credentialIcon from '../../assets/images/icons/icon-credentials-blue-green-01.svg';\r\nimport assessmentIcon from '../../assets/images/icons/icon-assessments-blue-green-01.svg';\r\nimport learningOpportunityIcon from '../../assets/images/UpdatedIcons/CE-Icon_3-Learning-Opportunity_Blue-Green_High-Res.png';\r\nimport competencyFrameworkIcon from '../../assets/images/icons/icon-competency-framework-white-green-01.svg';\r\nimport pathwayIcon from '../../assets/images/icons/icon-pathways-blue-green-01.svg';\r\nimport pathwaySetIcon from '../../assets/images/icons/icon-pathwaysets-blue-green-01.svg';\r\nimport transerValueIcon from '../../assets/images/icons/icon-transfer-value-blue-green-01.svg';\r\nimport transerIntermediaryIcon from '../../assets/images/UpdatedIcons/CE-Icon_17-Transfer-Intermediary_Blue-Green_High-Res.png';\r\nimport qaActionIcon from '../../assets/images/UpdatedIcons/CE-Icon_20-QA-Actions_Blue-Green_High-Res.png';\r\nimport rubricIcon from '../../assets/images/UpdatedIcons/CE-Icon_21-Rubrics_Blue-Green_High-Res.png';\r\nimport metricIcon from '../../assets/images/UpdatedIcons/CE-Icon_22-Metrics_Blue-Green_High-Res.png';\r\nimport industryIcon from '../../assets/images/UpdatedIcons/CE-Icon_12-Industries_Blue-Green_High-Res.png';\r\nimport collectionIcon from '../../assets/images/UpdatedIcons/CE-Icon_6-Collection_Blue-Green_High-Res.png';\r\nimport conceptSchemeIcon from '../../assets/images/UpdatedIcons/CE-Icon_18-Concept-Scheme_Blue-Green_High-Res.png';\r\nimport outcomeDataIcon from '../../assets/images/UpdatedIcons/CE-Icon_8-Outcome-Data_Blue-Green_High-Res.png';\r\nimport supportServicesIcon from '../../assets/images/UpdatedIcons/CE-Icon_10-Support_Blue-Green_High-Res.png';\r\nimport occupationIcon from '../../assets/images/UpdatedIcons/CE-Icon_11-Occupations_Blue-Green_High-Res.png';\r\nimport jobIcon from '../../assets/images/UpdatedIcons/CE-Icon_13-Jobs_Blue-Green_High-Res.png';\r\nimport workRoleIcon from '../../assets/images/UpdatedIcons/CE-Icon_14-Work-Roles_Blue-Green_High-Res.png';\r\nimport taskIcon from '../../assets/images/UpdatedIcons/CE-Icon_15-Tasks_Blue-Green_High-Res.png';\r\nimport progressionModelIcon from '../../assets/images/UpdatedIcons/CE-Icon_19-Progression-Model_Blue-Green_High-Res.png';\r\nimport scheduledOfferingIcon from '../../assets/images/UpdatedIcons/CE-Icon_9-Scheduled-Offering_Blue-Green_High-Res.png';\r\nimport qualificationsFrameworkIcon from '../../assets/images/UpdatedIcons/CE-Icon_23-Qualification-Frameworks_Blue-Green_High-Res.png';\r\nimport alignmentMapIcon from '../../assets/images/UpdatedIcons/CE-Icon_23-Qualification-Frameworks_Blue-Green_High-Res.png';\r\n\r\nconst Wrapper = styled.div`\r\n text-align: center;\r\n padding: 40px;\r\n`;\r\n\r\nconst Icon = styled.img`\r\n height: 40px;\r\n`;\r\n\r\ninterface Props {\r\n type: string;\r\n}\r\n\r\nexport default function EmptyResult(props: Props) {\r\n let icon = organizationIcon;\r\n switch (props.type) {\r\n case 'assessment':\r\n icon = assessmentIcon;\r\n break;\r\n case 'competencyframework':\r\n icon = competencyFrameworkIcon;\r\n break;\r\n case 'collection':\r\n icon = collectionIcon;\r\n break;\r\n case 'credential':\r\n icon = credentialIcon;\r\n break;\r\n case 'pathway':\r\n icon = pathwayIcon;\r\n break;\r\n case 'pathwayset':\r\n icon = pathwaySetIcon;\r\n break;\r\n case 'learningopportunity':\r\n icon = learningOpportunityIcon;\r\n break;\r\n case 'scheduledoffering':\r\n icon = scheduledOfferingIcon;\r\n break;\r\n case 'supportservice':\r\n icon = supportServicesIcon;\r\n break;\r\n case 'transfervalue':\r\n icon = transerValueIcon;\r\n break;\r\n case 'transferintermediary':\r\n icon = transerIntermediaryIcon;\r\n break;\r\n case 'conceptscheme':\r\n icon = conceptSchemeIcon;\r\n break;\r\n case 'occupation':\r\n icon = occupationIcon;\r\n break;\r\n case 'job':\r\n icon = jobIcon;\r\n break;\r\n case 'progressionmodel':\r\n icon = progressionModelIcon;\r\n break;\r\n case 'task':\r\n icon = taskIcon;\r\n break;\r\n\t\tcase 'workrole':\r\n icon = workRoleIcon;\r\n break;\r\n case 'datasetprofile':\r\n case 'outcomedata':\r\n icon = outcomeDataIcon;\r\n break;\r\n case 'action':\r\n case 'credentialingaction':\r\n case 'accreditaction':\r\n icon = qaActionIcon;\r\n break;\r\n case 'rubric':\r\n case 'rubrics':\r\n icon = rubricIcon;\r\n break;\r\n case 'metric':\r\n case 'metrics':\r\n icon = metricIcon;\r\n break;\r\n case 'industry':\r\n case 'industries':\r\n icon = industryIcon;\r\n break;\r\n case 'qualificationsframework':\r\n case 'qf':\r\n case 'qualificationsframeworks':\r\n icon = qualificationsFrameworkIcon;\r\n break;\r\n case 'alignmentmap':\r\n case 'alignmentmaps':\r\n icon = alignmentMapIcon;\r\n break;\r\n default:\r\n break;\r\n }\r\n return (\r\n \r\n \r\n

    Sorry, no results were found, try another search

    \r\n
    \r\n );\r\n}\r\n","import styled, { css } from 'styled-components/macro';\r\nimport { HStack } from '../Stack';\r\n\r\nexport const HSection = styled(HStack)`\r\n > * {\r\n margin: 5px;\r\n }\r\n flex-wrap: wrap;\r\n margin: 10px 0;\r\n`;\r\n","import React, { useContext, useState } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { IconName } from '@fortawesome/fontawesome-svg-core';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport axios from 'axios';\r\nimport { apiUrl } from '../../shared/globals';\r\nimport {\r\n ITagItem,\r\n ITagSet,\r\n MainSearchType,\r\n} from '../../types/internal';\r\nimport { Filter, FilterItem } from '../../types/external';\r\nimport Pill from '../Pill';\r\nimport { HSection } from './styles';\r\nimport { useHistory } from 'react-router-dom';\r\nimport ActivityIndicator from '../ActivityIndicator';\r\n//import { convertFilterItemToIFilterItem } from '../../types/converters';\r\nimport { FilterContext } from '../../App';\r\nimport { decode } from 'html-entities';\r\nimport PillLink from '../PillLink';\r\nimport { widgetReplacePluralLabelInText, widgetReplaceSingleLabelInText } from '../../utils/SiteWidgetizer';\r\n\r\ninterface Props {\r\n tagSets: ITagSet[];\r\n onUpdateFilter: (filter: Filter, filterItem: FilterItem) => void;\r\n searchType: string;\r\n\tindentifier?: string | number; // this is for React]\r\n\tdetailPageLink?: string;\r\n}\r\nexport default function SearchResultPillSection({\r\n tagSets,\r\n indentifier,\r\n onUpdateFilter,\r\n\tsearchType,\r\n\tdetailPageLink\r\n}: Props) {\r\n const history = useHistory();\r\n const filterContext = useContext(FilterContext);\r\n const [showItems, setShowItems] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [tagItems, setTagItems] = useState([]);\r\n\tconst [selectedSetTagIndex, setSelectedSetTagIndex] = useState(-1);\r\n\tconst [liveTagData, setLiveTagData] = useState(tagSets);\r\n\r\n\tasync function onTagSetClick(tagSet: ITagSet, setLiveTagData: () => void, index: number) {\r\n if (index === selectedSetTagIndex) {\r\n setShowItems(false);\r\n setSelectedSetTagIndex(-1);\r\n } else {\r\n setShowItems(true);\r\n\t\t\tsetSelectedSetTagIndex(index);\r\n\r\n\t\t\tif (tagSet.Values.length === 0 && tagSet.Total && tagSet.Total > 0) {\r\n\t\t\t\tsetIsLoading(true);\r\n\t\t\t\tconst url = apiUrl + tagSet.URL;\r\n\t\t\t\tlet results: any[] = [];\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst res = await axios.post(url, tagSet.QueryData);\r\n\t\t\t\t\tif (res.data.Successful) {\r\n\t\t\t\t\t\tresults = res.data.Result || [];\r\n\t\t\t\t\t}\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t}\r\n\t\t\t\ttagSet.Values = results;\r\n\t\t\t\tsetLiveTagData();\r\n\t\t\t\tsetTagItems(results);\r\n\t\t\t\tsetIsLoading(false);\r\n\t\t\t} else {\r\n\t\t\t\tsetTagItems(tagSet.Values);\r\n\t\t\t}\r\n }\r\n }\r\n\r\n\tfunction onTagItemClick(tag: ITagItem, index: number) {\r\n if (tag.URL) {\r\n history.push(tag.URL);\r\n } else {\r\n let newFilterItem: FilterItem = {\r\n Label: tag.Label,\r\n Id: tag.FilterItemID,\r\n Text: tag.FilterItemText,\r\n //parentId: tag.FilterItemText ? 'parentId' : undefined,\r\n } as FilterItem;\r\n\t\t\tlet newFilter: Filter = {\r\n Id: tag.FilterID\r\n } as Filter;\r\n // merge with existing filter\r\n const filters = filterContext[searchType];\r\n const filterWithId =\r\n filters && filters.find((filter) => filter.Id == tag.FilterID);\r\n if (filterWithId) {\r\n\t\t\t\tnewFilter.Label=filterWithId.Label;\r\n\t\t\t\tnewFilter.URI=filterWithId.URI;\r\n const filterItemWithUrlId = filterWithId.Items.find(\r\n (item) => item.Id == tag.FilterItemID,\r\n );\r\n if (filterItemWithUrlId) {\r\n newFilterItem = {\r\n ...newFilterItem,\r\n ...filterItemWithUrlId,\r\n };\r\n }\r\n }\r\n\t\t\tonUpdateFilter(\r\n\t\t\t\tnewFilter,\r\n\t\t\t\tnewFilterItem\r\n );\r\n }\r\n }\r\n\r\n function getFAIcon(iconName: string) {\r\n return iconName.slice(3);\r\n }\r\n\r\n\tvar hideCountsFor = [\"outcome data\", \"time estimate\"];\r\n\r\n return (\r\n
    \r\n \r\n\t\t\t\t{liveTagData.map((tagSet, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\trightIcon={\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\trightIconOnActive={\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcontent={(hideCountsFor.includes(tagSet?.Label?.toLowerCase() || \"\") ? \"\" : tagSet.Total + \" \") + widgetReplaceSingleLabelInText(widgetReplacePluralLabelInText(tagSet.Label))}\r\n\t\t\t\t\t\tonClick={() => onTagSetClick(tagSet, () => {setLiveTagData(liveTagData)}, index)}\r\n pillType=\"filter-button\"\r\n />\r\n ))}\r\n \r\n {isLoading ? (\r\n \r\n ) : (\r\n showItems && (\r\n \r\n {tagItems.map((tag, index) => (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t{tag.URL && { onTagItemClick(tag, index); return false; }}\r\n\t\t\t\t\t\t\t\t\t\trightIcon={\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t/>}\r\n\t\t\t\t\t\t\t\t\t{!tag.URL && \r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\ttitle={\"Search for resources with \" + decode(tag.Label)}\r\n\t\t\t\t\t\t\t\t\t\tcontent={decode(tag.Label)}\r\n\t\t\t\t\t\t\t\t\t\tpillType=\"filter\"\r\n\t\t\t\t\t\t\t\t\t\tonClick={() => {onTagItemClick(tag, index); }}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n {detailPageLink && (tagSets[selectedSetTagIndex].Total || 0) > tagItems.length &&\r\n \r\n\r\n \r\n\t\t\t\t\t\t\t\t}\r\n content=\"Detail\"\r\n\t\t\t\t\t\t\t\tpillType=\"filter-button\"\r\n\t\t\t\t\t\t\t\tonClick={() => { detailPageLink && window.open(detailPageLink, \"detailPage\"); }}\r\n />\r\n \r\n\t\t\t\t\t\t}\r\n \r\n )\r\n )}\r\n
    \r\n );\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport styled from 'styled-components/macro';\r\n\r\nexport default function BackToTopButton() {\r\n\tuseEffect(() => {\r\n\t\tvar button = document.getElementsByClassName(\"backToTopButton\")[0];\r\n\t\twindow.addEventListener(\"scroll\", () => {\r\n\t\t\tbutton && (window.scrollY > window.innerHeight) ? button.classList.add(\"visible\") : button.classList.remove(\"visible\");\r\n\t\t});\r\n\t});\r\n\r\n\treturn (\r\n\t\t { window.scrollTo(0, 0); }}>↑\r\n\t)\r\n}\r\n\r\nconst UpButton = styled.button`\r\n\tfont-size: 30px;\r\n\twidth: 75px;\r\n\theight: 75px;\r\n\tpadding: 10px;\r\n\tbackground-color: ${(p) => p.theme.color.blueDark};\r\n\tcolor: #FFF;\r\n\tborder: none;\r\n\tposition: fixed;\r\n\tbottom: 25px;\r\n\tright: 25px;\r\n\ttransition: transform 1s;\r\n\ttransform: rotateX(90deg);\r\n\r\n\t&:hover, &:focus {\r\n\t\tbackground-color: ${(p) => p.theme.color.aquaDark};\r\n\t}\r\n\r\n\t&.visible {\r\n\t\ttransform: rotateX(0deg);\r\n\t}\r\n`;","import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport SearchBar from '../../components/SearchBar';\r\nimport SearchResultItem from '../../components/SearchResultItem';\r\nimport GoogleMap from 'google-map-react';\r\nimport {\r\n FilterButton,\r\n ResultItem,\r\n ResultList,\r\n ResultBodytHeader,\r\n ResultListHeaderSection,\r\n TopRegion,\r\n IconButton,\r\n ButtonIcon,\r\n Wrapper,\r\n DropdownSection,\r\n GroupButton,\r\n FilterPills,\r\n PillContent,\r\n DropdownGroup,\r\n ResultCount,\r\n ResultsSection,\r\n LoadingIndicatorWrapper,\r\n ResultListItems,\r\n MapWrapper,\r\n ResultsSectionBody,\r\n\tResultBodyContent,\r\n\tExportButton\r\n} from './styles';\r\nimport {\r\n MainFilterItemInterface,\r\n MainSearchType,\r\n} from '../../types/internal';\r\nimport {\r\n faAngleRight,\r\n faAngleDown,\r\n faLocationArrow,\r\n faChevronRight,\r\n faList,\r\n faMapMarkerAlt,\r\n faFilter,\r\n faTimes,\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport { faListAlt, faClock } from '@fortawesome/free-regular-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport Pill, { UnremovablePill } from '../../components/Pill';\r\nimport { HStack, VStack } from '../../components/Stack';\r\nimport FilterPanel from '../../components/FilterPanel';\r\nimport { FilterContext, QueryContext } from '../../App';\r\nimport {\r\n FilterField,\r\n getMapInfoWindowFromSearchResultsLocations,\r\n getResultsLocationField,\r\n} from '../../utils';\r\nimport Dropdown from '../../components/Dropdown';\r\nimport {\r\n defaultMapSetting,\r\n defaultQuery,\r\n resultDisplayOptions,\r\n sortOptions,\r\n} from '../../shared/data';\r\nimport { constructSearchQuery } from '../../services/api';\r\nimport { useMediaQuery } from '../../hooks';\r\nimport { theme } from '../../shared/theme';\r\nimport axios from 'axios';\r\nimport { apiUrl, appURL, registryURL, googleMapsKey, appBaseName } from '../../shared/globals';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport EmptyResult from './EmptyResult';\r\nimport { Organization, MainQueryResponse, Place, MainQueryType, Filter, FilterItem } from '../../types/external';\r\nimport { setupMap } from '../../services/map';\r\n//import { convertFilterItemToIFilterItem } from '../../types/converters';\r\nimport SearchResultPillSection from '../../components/SearchResultPillSection';\r\nimport BackToTopButton from '../../components/BackToTopButton';\r\nimport { widgetPruneFiltersAndOptions, widgetApplyWidgetToQuery } from '../../utils/SiteWidgetizer';\r\nimport { getUUID } from '../../components/MiniSearch';\r\nimport { getCurrentQuery, updateCurrentQuery, registerCurrentQueryListener, delayThenDo, toggleFilterItem } from '../../utils/SearchHelper';\r\nimport { getExportCSVFromItems } from \"../../utils/JSONtoCSV\";\r\n\r\nconst emptySearchResult: MainQueryResponse = {\r\n TotalResults: 0,\r\n Results: [],\r\n};\r\nexport default function SearchPage() {\r\n\tconst filterContext = useContext(FilterContext);\r\n const queryContext = useContext(QueryContext);\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n const [panelIsOpen, setPanelIsOpen] = useState(false);\r\n const [viewMode, setViewMode] = useState<'list' | 'map'>('list');\r\n const [searchResult, setSearchResult] = useState(\r\n emptySearchResult,\r\n );\r\n const [initialLoading, setInitialLoading] = useState(true);\r\n const [scrollLoading, setScrollLoading] = useState(false);\r\n const [searchAble, setSearchAble] = useState(true);\r\n const resultRef = useRef(null);\r\n const googleMap = useRef();\r\n const googleMaps = useRef();\r\n const mapMarkers = useRef();\r\n const [displayMode, setDisplayMode] = useState<\r\n 'showAll' | 'showDescription' | 'showButton'\r\n\t\t>('showAll');\r\n\tconst [inExportMode, setInExportMode] = useState(false);\r\n\tconst [isExportRunning, setIsExportRunning] = useState(false);\r\n\r\n const availableFilters = useMemo(() => {\r\n return filterContext[queryContext.query.SearchType] || [];\r\n }, [queryContext.query.SearchType, filterContext]);\r\n\r\n\r\n\t//New search processing\r\n\t//console.log(\"filtercontext\", filterContext);\r\n\tvar parametersFromURL = {} as any;\r\n\tnew URLSearchParams(window.location.search).forEach((value, key) => {\r\n\t\tvar name = key.toLowerCase();\r\n\t\tparametersFromURL[name] = parametersFromURL[name] ? [...parametersFromURL[name], value] : [value];\r\n\t});\r\n\tuseEffect(() => {\r\n\t\t//Set to help track things later\r\n\t\t(window as any).IsOriginalSearchType = true;\r\n\r\n\t\t//Force addition of keywords from URL parameters if applicable, but then enable it to change after 3 seconds\r\n\t\tif (parametersFromURL.keywords) {\r\n\t\t\t(document.querySelector(\"[data-fieldname='MainKeywords']\") as any).value = parametersFromURL.keywords;\r\n\t\t\t(window as any).StarterKeywords = Array.isArray(parametersFromURL.keywords) ? parametersFromURL.keywords[0] : parametersFromURL.keywords;\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\t(window as any).StarterKeywords = null;\r\n\t\t\t}, 3000);\r\n\t\t}\r\n\t}, []);\r\n\tregisterCurrentQueryListener(\"DoMainSearch\", function () { delayThenDo(\"DoMainSearch\", 250, doSearch); });\r\n\tfunction doSearch() {\r\n\t\t//Get query\r\n\t\tvar query = getCurrentQuery();\r\n\t\t\r\n\t\t//Get filters\r\n\t\tquery.MainFilters = query.MainFilters || [];\r\n\r\n\t\t//Add keywords if applicable\r\n\t\tquery.Keywords = query.Keywords || (window as any).StarterKeywords;\r\n\r\n\t\t//Add SortOrder\r\n\t\tquery.SortOrder = query.SortOrder || \"sortOrder:MostRelevant\";\r\n\t\t\r\n\t\t//Add PageSize and SkipPages\r\n\t\tquery.PageSize = query.PageSize || 20;\r\n\t\tquery.SkipPages = query.SkipPages || 0;\r\n\r\n\t\t//Append filters from URL unless the search type has been changed\r\n\t\tif ((window as any).IsOriginalSearchType) {\r\n\t\t\t//Inject Organization roles (unless it was already removed)\r\n\t\t\tif (!(window as any).RemovedOrganizationRoleFilter && parametersFromURL.filterparameters?.length > 0 && !query.MainFilters.find((m: any) => m.Parameters)) {\r\n\t\t\t\tquery.MainFilters.push({\r\n\t\t\t\t\tLabel: \"Organization Role\",\r\n\t\t\t\t\tItems: [{\r\n\t\t\t\t\t\tText: (Array.isArray(parametersFromURL.filteritemtext) ? parametersFromURL.filteritemtext[0] : parametersFromURL.filteritemtext) || \"Organization Role Filter\",\r\n\t\t\t\t\t\tonRemove: function () {\r\n\t\t\t\t\t\t\t(window as any).RemovedOrganizationRoleFilter = true;\r\n\t\t\t\t\t\t\tupdateCurrentQuery();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}],\r\n\t\t\t\t\tParameters: JSON.parse(parametersFromURL.filterparameters)\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\t//Inject Preselected filters (e.g. industry, ____Type, etc) (unless it was already removed)\r\n\t\t\telse if (!(window as any).RemovedPreselectedFilter && parametersFromURL.filterid && (parametersFromURL.filteritemid || parametersFromURL.filteritemtext)) {\r\n\t\t\t\tvar filterID = Array.isArray(parametersFromURL.filterid) ? parametersFromURL.filterid[0] : parametersFromURL.filterid;\r\n\t\t\t\tvar filterItemID = Array.isArray(parametersFromURL.filteritemid) ? parametersFromURL.filteritemid[0] : parametersFromURL.filteritemid;\r\n\t\t\t\tvar filterData = (window as any).SearchFilters?.[query.SearchType?.toLowerCase()]?.find((m: any) => m.Id == filterID);\r\n\t\t\t\tvar filterLabel = filterData?.Label || \"Filter\";\r\n\t\t\t\tvar filterItemLabel = filterData?.Items?.find((m: any) => m.Id == filterItemID)?.Label || \"Preselected Item\";\r\n\t\t\t\tquery.MainFilters = query.MainFilters.filter((m: any) => !m.IsPreselectedFilter);\r\n\t\t\t\tquery.MainFilters.push({\r\n\t\t\t\t\tLabel: filterLabel,\r\n\t\t\t\t\tItems: [{\r\n\t\t\t\t\t\tId: filterItemID,\r\n\t\t\t\t\t\tText: (Array.isArray(parametersFromURL.filteritemtext) ? parametersFromURL.filteritemtext[0] : parametersFromURL.filteritemtext) || filterItemLabel,\r\n\t\t\t\t\t\tonRemove: function () {\r\n\t\t\t\t\t\t\t(window as any).RemovedPreselectedFilter = true;\r\n\t\t\t\t\t\t\tquery.MainFilters = query.MainFilters.filter((m: any) => !m.IsPreselectedFilter);\r\n\t\t\t\t\t\t\tupdateCurrentQuery();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}],\r\n\t\t\t\t\tId: filterID,\r\n\t\t\t\t\tIsPreselectedFilter: true\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//Append widget filters if applicable\r\n\t\twidgetApplyWidgetToQuery(query, query.SearchType);\r\n\r\n\r\n\r\n\t\t//TODO: Clean up unused code from the old filter handling\r\n\t\t//TODO: Test everything during/after cleanup\r\n\r\n\r\n\r\n\t\t//Re-render the filter pills\r\n\t\tvar pillBox = (document.querySelector(\".filterPillsSection\") as any);\r\n\t\tif (pillBox) {\r\n\t\t\tpillBox.innerHTML = \"\";\r\n\t\t\tquery.MainFilters.forEach((Filter: any) => {\r\n\t\t\t\tFilter.Items?.forEach((Item: any) => {\r\n\t\t\t\t\tvar button = document.createElement(\"button\");\r\n\t\t\t\t\tbutton.classList.add(\"pillButton\");\r\n\t\t\t\t\tif (Item.onRemove) {\r\n\t\t\t\t\t\tbutton.disabled = false;\r\n\t\t\t\t\t\tbutton.innerHTML = \"\" + Filter.Label + \": \" + Item.Text + \"X\";\r\n\t\t\t\t\t\tbutton.onclick = function () {\r\n\t\t\t\t\t\t\tItem.onRemove();\r\n\t\t\t\t\t\t\tvar box1 = (document.querySelector(\"[data-filterid='\" + Filter.Id + \"'] [data-filteritemid='\" + Item.Id + \"']\") as any);\r\n\t\t\t\t\t\t\tbox1 && (box1.checked = false);\r\n\t\t\t\t\t\t\tvar box2 = (document.querySelector(\"[data-filterid='\" + Filter.Id + \"'] [data-filteritemuri='\" + Item.URI + \"']\") as any);\r\n\t\t\t\t\t\t\tbox2 && (box2.checked = false);\r\n\t\t\t\t\t\t\t//var text = (document.querySelector(\"[data-filterid='\" + Filter.Id + \"'] [data-filteritemtext='\" + Item.Text + \"']\") as any);\r\n\t\t\t\t\t\t\t//text && (text.parentNode.removeChild(text));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tbutton.disabled = true;\r\n\t\t\t\t\t\tbutton.innerHTML = \"\" + Filter.Label + (Filter.Label[Filter.Label.length - 1] == \":\" ? \"\" : \":\") + \" \" + Item.Text + \"\";\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tpillBox.appendChild(button);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t//Only run the query if it has actually changed, or if query.Force is true (i.e. if the user clicked in the search bar and hit enter, or clicked the search button)\r\n\t\tvar stringified = JSON.stringify(query);\r\n\t\tif (query.Force || stringified != (window as any).PreviousMainSearchStringified) {\r\n\t\t\tquery.Force = false;\r\n\t\t\t(window as any).PreviousMainSearchStringified = stringified;\r\n\t\t\tconsole.log(\"Doing main search...\", query);\r\n\r\n\t\t\tqueryContext.updateQuery({ ...query });\r\n\t\t}\r\n\t\telse {\r\n\t\t\tconsole.log(\"Skipping main search\");\r\n\t\t}\r\n\t}\r\n\r\n\tfunction onSearchButtonClick() {\r\n\t\tqueryContext.updateQuery({\r\n\t\t\t...queryContext.query,\r\n\t\t\tSkipPages: 0,\r\n\t\t});\r\n\t}\r\n\r\n\tfunction onUpdateFilter(filter: Filter, filterItem: FilterItem) {\r\n\t\ttoggleFilterItem(filter.Id, filter.URI, filter.Label, filterItem.Id, filterItem.URI, filterItem.Label ?? filterItem.Text);\r\n }\r\n\r\n function getDefaultSortOption() {\r\n const index = sortOptions.findIndex(\r\n (option) => option.key == queryContext.query.SortOrder,\r\n );\r\n if (index == -1) {\r\n return 0;\r\n }\r\n return index;\r\n }\r\n\t\r\n const resultsLocations = useMemo(() => {\r\n let locations: Place[] = [];\r\n const locationField = getResultsLocationField(\r\n queryContext.query.SearchType,\r\n\t\t);\r\n\t\tvar mapFilter = queryContext.query?.MapFilter as any || null;\r\n\t\tvar latitude25Unit = 0.362; //One degree of latitude is 69 miles, so this represents 25 miles of latitude\r\n\t\tvar longitude25Unit = 0.463; //One degree of longitude is a little over 54 miles, so this represents 25 miles of longitude\r\n searchResult.Results.map((result) => {\r\n const resultLocations = result[locationField];\r\n if (resultLocations) {\r\n if (Array.isArray(resultLocations)) {\r\n\t\t\t\t\tresultLocations.forEach((place, index) => {\r\n\t\t\t\t\t\tvar isValidLocation = true;\r\n\t\t\t\t\t\tif (mapFilter && mapFilter.BBoxCenterLatitude && mapFilter.BBoxCenterLongitude) {\r\n\t\t\t\t\t\t\tmapFilter.PositionType = mapFilter.PositionType || \"positionType:In\";\r\n\t\t\t\t\t\t\tvar isInPlace = place.AddressRegion?.toLowerCase() == mapFilter.Region?.toLowerCase() && (mapFilter.Label == mapFilter.Region ? true : place.AddressLocality?.toLowerCase() == mapFilter.Label?.toLowerCase());\r\n\t\t\t\t\t\t\tvar latitudeDistance = Math.abs(place.Latitude - mapFilter.BBoxCenterLatitude);\r\n\t\t\t\t\t\t\tvar longitudeDistance = Math.abs(place.Longitude - mapFilter.BBoxCenterLongitude);\r\n\t\t\t\t\t\t\tvar latitudeDistanceThreshold = ({ \"positionType:Near_25\": latitude25Unit * 1, \"positionType:Near_50\": latitude25Unit * 2, \"positionType:Near_100\": latitude25Unit * 3 } as any)[mapFilter.PositionType] || 0;\r\n\t\t\t\t\t\t\tvar longitudeDistanceThreshold = ({ \"positionType:Near_25\": longitude25Unit * 1, \"positionType:Near_50\": longitude25Unit * 2, \"positionType:Near_100\": longitude25Unit * 3 } as any)[mapFilter.PositionType] || 0;\r\n\t\t\t\t\t\t\tisValidLocation = mapFilter.PositionType == \"positionType:In\" && isInPlace ? true : (latitudeDistanceThreshold > latitudeDistance && longitudeDistanceThreshold > longitudeDistance);\r\n\t\t\t\t\t\t\tconsole.log(\"Place\", { place: place, isInPlace: isInPlace, latDistance: latitudeDistance, lonDistance: longitudeDistance });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (isValidLocation) {\r\n\t\t\t\t\t\t\tlocations.push({\r\n\t\t\t\t\t\t\t\t...place,\r\n\t\t\t\t\t\t\t\tResourceName: result.Name || \"Unknown Resource\",\r\n\t\t\t\t\t\t\t\tResourceProviderName: result.OwnedByLabel?.Label || \"\",\r\n\t\t\t\t\t\t\t\tMarkerTitle: (result.Name || \"Unknown Resource\") + \", Location \" + (index + 1),\r\n\t\t\t\t\t\t\t\tidentifier: result.Meta_Id,\r\n\t\t\t\t\t\t\t\t//label: getMapInfoWindowFromSearchResultsLocations(\r\n\t\t\t\t\t\t\t\t//\tqueryContext.query.SearchType,\r\n\t\t\t\t\t\t\t\t//\tresult,\r\n\t\t\t\t\t\t\t\t//),\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n });\r\n }\r\n }\r\n });\r\n // clear all current markers\r\n if (mapMarkers.current) {\r\n mapMarkers.current.forEach((marker: google.maps.Marker) => {\r\n marker.setMap(null);\r\n });\r\n mapMarkers.current = [];\r\n }\r\n // fit bounds\r\n if (googleMap.current && googleMaps.current) {\r\n mapMarkers.current = setupMap(\r\n googleMap.current,\r\n googleMaps.current,\r\n locations,\r\n defaultMapSetting.zoom,\r\n );\r\n }\r\n\r\n return locations;\r\n }, [searchResult.Results]);\r\n\r\n\t//Use brute force to prevent the results div jumping to the top\r\n\t//Really awful hack but React sucks that much\r\n\tuseEffect(() => {\r\n\t\t(document.querySelector(\"#mainResultContainer\") as any).style.minHeight = document.querySelector(\"#mainResultContainer\")?.clientHeight + \"px\";\r\n\t}, [searchResult.Results]);\r\n\tuseEffect(() => {\r\n\t\tif (queryContext.query.SkipPages == 0) {\r\n\t\t\t(document.querySelector(\"#mainResultContainer\") as any).style.minHeight = \"0px\";\r\n\t\t}\r\n\t}, [queryContext.query]);\r\n\t//\r\n\r\n useEffect(() => {\r\n function loadMore() {\r\n if (resultRef.current) {\r\n if (\r\n window.innerHeight + document.documentElement.scrollTop >=\r\n resultRef.current.scrollHeight + 1\r\n ) {\r\n if (!initialLoading && !scrollLoading && searchAble) {\r\n\t\t\t\t\t\tconsole.log(\"setScrollLoading\", \"true\");\r\n\t\t\t\t\t\tsetScrollLoading(true);\r\n\r\n\t\t\t\t\t\tupdateCurrentQuery((query: any) => {\r\n\t\t\t\t\t\t\tquery.PageSize = 20;\r\n\t\t\t\t\t\t\tquery.SkipPages = query.SkipPages == undefined ? 0 : query.SkipPages + 1;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t/* */\r\n\r\n queryContext.updateQuery({\r\n ...queryContext.query,\r\n SkipPages: (queryContext.query.SkipPages || 0) + 1,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n window.addEventListener('scroll', loadMore);\r\n\r\n return () => {\r\n window.removeEventListener('scroll', loadMore);\r\n };\r\n }, [\r\n resultRef,\r\n scrollLoading,\r\n //queryContext.query,\r\n initialLoading,\r\n searchAble,\r\n ]);\r\n\r\n\tuseEffect(() => {\r\n\t\tfunction generateQueryFromURL() {\r\n\t\t\t//Get from URL\r\n\t\t\tvar parameters = {} as any;\r\n\t\t\tnew URLSearchParams(window.location.search).forEach((value, key) => {\r\n\t\t\t\tvar name = key.toLowerCase();\r\n\t\t\t\tparameters[name] = parameters[name] ? [...parameters[name], value] : [value];\r\n\t\t\t});\r\n\r\n\t\t\t//Convert\r\n\t\t\tvar filterId = parameters.filterid?.[0] || \"-1\";\r\n\t\t\tvar filterItemId = parameters.filteritemid?.[0] || \"\";\r\n\t\t\tvar filterItemText = parameters.filteritemtext?.[0] || \"\";\r\n\t\t\tvar keywords = parameters.keywords?.[0] || \"\";\r\n\t\t\tvar filterParameters = parameters.filterparameters?.[0];\r\n\t\t\tvar searchType = ((parameters.searchtype?.[0] || \"\").toLowerCase() as MainSearchType) || 'credential';\r\n\t\t\tconsole.log(\"Keywords from URL:\", keywords);\r\n\r\n\t\t\t//If valid...\r\n\t\t\tif (!(filterId == '-1' && filterItemId == '' && filterItemText == '' && !filterParameters)) {\r\n\t\t\t\t//Create the filter\r\n\t\t\t\tvar newFilter = {\r\n\t\t\t\t\tId: filterId,\r\n\t\t\t\t\tItems: [{\r\n\t\t\t\t\t\tId: filterItemId,\r\n\t\t\t\t\t\tText: filterItemText\r\n\t\t\t\t\t}] as Array,\r\n\t\t\t\t} as Filter;\r\n\r\n\t\t\t\t//Inject parameters if present\r\n\t\t\t\tif (filterParameters) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tnewFilter.Parameters = JSON.parse(filterParameters);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcatch (error) { }\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//Lookup the filter from the filterContext to get its URI\r\n\t\t\t\tvar filterFromContext = (filterContext[searchType] || []).find(filter => filter.Id == filterId);\r\n\t\t\t\tif (filterFromContext) {\r\n\t\t\t\t\tnewFilter.URI = filterFromContext.URI;\r\n\t\t\t\t}\t\t\t\r\n\t\t\t\t//Update the query\r\n\t\t\t\tqueryContext.updateQuery({\r\n\t\t\t\t\t...queryContext.query,\r\n\t\t\t\t\tKeywords: keywords,\r\n\t\t\t\t\tMainFilters: [...queryContext.query.MainFilters, newFilter],\r\n\t\t\t\t\tSearchType: searchType,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse if (keywords) {\r\n\t\t\t\t//Update the query\r\n\t\t\t\tqueryContext.updateQuery({\r\n\t\t\t\t\t...queryContext.query,\r\n\t\t\t\t\tKeywords: keywords,\r\n\t\t\t\t\tSearchType: searchType,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n // dirty check\r\n if (filterContext['credential'].length > 0) {\r\n generateQueryFromURL();\r\n }\r\n }, [filterContext]);\r\n\r\n\t//Inject widget-based filters\r\n\tuseEffect(() => {\r\n\t\tif ((window as any).Widget?.ID) {\r\n\t\t\twidgetApplyWidgetToQuery(queryContext.query, queryContext.query.SearchType);\r\n\t\t\tqueryContext.updateQuery({\r\n\t\t\t\t...queryContext.query\r\n\t\t\t});\r\n\t\t}\r\n\t}, [filterContext, queryContext.query.SearchType]);\r\n\r\n useEffect(() => {\r\n let isCurrentFetch = true;\r\n\t\tconsole.log(\"Current Fetch = true\");\r\n async function getSearchResults() {\r\n const query = constructSearchQuery(\r\n queryContext.query,\r\n filterContext[queryContext.query.SearchType],\r\n\t\t\t);\r\n\t\t\twidgetApplyWidgetToQuery(queryContext.query, queryContext.query.SearchType);\r\n\r\n\t\t\t//Skip the first double query but let the second run so that event handlers for resource rendering still trigger\r\n\t\t\tif ((query.SkipPages || 0) > 0 && (query.SkipPages || 0) != (window as any).OldSkipPages) {\r\n\t\t\t\tconsole.log(\"Skipping first double query\", query);\r\n\t\t\t\t(window as any).OldSkipPages = query.SkipPages || 0;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t/*\r\n\t\t\t//Skip double queries - works, but causes results to stop rendering after 3 pages for some reason\r\n\t\t\tvar textQuery = JSON.stringify(query);\r\n\t\t\tconsole.log(\"Current query\", textQuery);\r\n\t\t\tconsole.log(\"Old query\", (window as any).OldQuery);\r\n\t\t\tif ((window as any).OldQuery == textQuery) {\r\n\t\t\t\tconsole.log(\"Skipping query because it is the same as before\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tconsole.log(\"Updating old query\");\r\n\t\t\t\t(window as any).OldQuery = textQuery;\r\n\t\t\t}\r\n\t\t\t*/\r\n\r\n if (!scrollLoading) {\r\n setInitialLoading(true);\r\n\t\t\t}\r\n\r\n\t\t\tconst isFirstPage = queryContext.query.SkipPages == 0;\r\n const url = apiUrl + '/search';\r\n let results: any[] = [];\r\n let totalResults = 0;\r\n\t\t\ttry {\r\n\t\t\t\tconsole.log(\"Doing search\");\r\n const res = await axios.post(url, query);\r\n if (res.data.Successful) {\r\n // results = [];\r\n\t\t\t\t\tconsole.log(\"Successful results\", res);\r\n results = res.data.Result?.Results || [];\r\n totalResults = res.data.Result?.TotalResults || 0;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log(\"Inner error\", res);\r\n results = [];\r\n }\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.log(\"Outer error\");\r\n results = [];\r\n\t\t\t}\r\n\t\t\tif (isCurrentFetch == true) {\r\n\t\t\t\tconsole.log(\"Is Current Fetch...\");\r\n\t\t\t\t//if (scrollLoading) {\r\n\t\t\t\tif (!isFirstPage) {\r\n\t\t\t\t\tconsole.log(\"Not first page\");\r\n\t\t\t\t\t//Hack to work around paging searches happening twice, and probably other problems\r\n\t\t\t\t\tvar appendResults = results;//.filter(m => searchResult.Results.find(n => n.CTID == m.CTID) == null); //Should be fixed now that the first of the double-queries is getting skipped \r\n\t\t\t\t\tvar newSearchResults = [];\r\n\t\t\t\t\tif (appendResults.length > 0) {\r\n\t\t\t\t\t\tconsole.log(\"Appending results\", appendResults);\r\n\t\t\t\t\t\tnewSearchResults = searchResult.Results.concat(\r\n\t\t\t\t\t\t\tappendResults\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tnewSearchResults = [...searchResult.Results];\r\n\t\t\t\t\t\tconsole.log(\"Skipping appending results twice\", results);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//Always set results to ensure other page events happen as expected even if nothing was appended(?)\r\n\t\t\t\t\tsetSearchResult({\r\n\t\t\t\t\t\t...searchResult,\r\n\t\t\t\t\t\tResults: newSearchResults,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log(\"First page, resetting results\");\r\n\t\t\t\t\tsetSearchResult({\r\n\t\t\t\t\t\tTotalResults: totalResults,\r\n\t\t\t\t\t\tResults: results,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tconsole.log(\"Settting searchAble\");\r\n\t\t\t\tif (results.length < 20) {\r\n\t\t\t\t\tsetSearchAble(false);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetSearchAble(true);\r\n\t\t\t\t}\r\n\t\t\t\tsetInitialLoading(false);\r\n\t\t\t\tconsole.log(\"setScrollLoading\", \"false\");\r\n\t\t\t\tsetScrollLoading(false);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tconsole.log(\"Is not Current Fetch...\");\r\n\t\t\t\t//setSearchResult({ ...searchResult, Results: [...searchResult.Results] });\r\n\t\t\t}\r\n }\r\n getSearchResults();\r\n\r\n return () => {\r\n\t\t\tisCurrentFetch = false;\r\n\t\t\tconsole.log(\"Current Fetch = false\");\r\n };\r\n }, [queryContext.query]);\r\n\r\n\t//Handle connecting result buttons to map markers\r\n\t//Work around setState being async via a bunch of stupid extra steps\r\n\t//First create the state stuff\r\n\tconst [focusedOnMarkersForResult, setfocusedOnMarkersForResult] = useState(0);\r\n\r\n\t//When the button is clicked, set the view mode to map and then set the state to reference either the selected marker, or all of them\r\n\tfunction focusOnMarkersForResult(resultID: number) {\r\n\t\tsetViewMode(\"map\");\r\n\t\tsetfocusedOnMarkersForResult(focusedOnMarkersForResult == resultID ? 0 : resultID);\r\n\t}\r\n\r\n\t//When the state actually gets around to changing, start trying to do things with the map\r\n\tuseEffect(() => {\r\n\t\ttryFocusOnMarkersForResult(focusedOnMarkersForResult, 50);\r\n\t}, [focusedOnMarkersForResult]);\r\n\r\n\t//No callbacks to be able to tell when the map is ready, so brute force it with a timeout loop\r\n\tfunction tryFocusOnMarkersForResult(resultID: number, attemptsRemaining: number) {\r\n\t\tif (!mapMarkers.current && attemptsRemaining > 0 && resultID > 0) {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\ttryFocusOnMarkersForResult(resultID, attemptsRemaining - 1);\r\n\t\t\t}, 100);\r\n\t\t}\r\n\t\t//Once it's finally ready to do something useful, and if there are actually any markers to manipulate...\r\n\t\telse if (mapMarkers.current && mapMarkers.current.length > 0) {\r\n\t\t\t//Get the markers for this result\r\n\t\t\tvar markersForResult = mapMarkers.current.filter((m: any) => { return resultID > 0 ? m.get(\"resultID\") == resultID : true });\r\n\t\t\tconsole.log(\"Focusing on markers for result \" + resultID, markersForResult.map((m: any) => { return m.get(\"resultID\") }));\r\n\r\n\t\t\t//Set each marker's opacity\r\n\t\t\tmapMarkers.current.forEach(function (marker: any) {\r\n\t\t\t\tmarker.setOpacity((marker.get(\"resultID\") == resultID || resultID == 0) ? 1 : 0.01);\r\n\t\t\t});\r\n\r\n\t\t\t//Refit the map to the bounds of the selected markers\r\n\t\t\t//Have to do this in an if because TypeScript won't quit complaining about how googleMap.current might be \"possibly undefined\" even when optional chaining is used\r\n\t\t\tif (googleMap.current) {\r\n\t\t\t\tvar bounds = new google.maps.LatLngBounds();\r\n\t\t\t\tmarkersForResult.forEach(function (marker: any) {\r\n\t\t\t\t\tbounds.extend(marker.getPosition());\r\n\t\t\t\t});\r\n\t\t\t\tgoogleMap.current.fitBounds(bounds);\r\n\t\t\t\tgoogleMap.current.getZoom() > 15 && googleMap.current.setZoom(15);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t//\r\n\r\n\t//Have to split this into a start function and a useEffect due to React's stupid async render garbage\r\n\tfunction startExport() {\r\n\t\tsetInExportMode(true);\r\n\t\tsetIsExportRunning(true);\r\n\t}\r\n\t//\r\n\r\n\tuseEffect(() => {\r\n\t\tif (inExportMode && isExportRunning) {\r\n\t\t\t(window as any).ExportTransactionGUID = (crypto as any).randomUUID();\r\n\t\t\t(window as any).TrackExportProgress = true;\r\n\t\t\t(window as any).MaxExportTrackingTickets = 10000;\r\n\t\t\tupdateExportWindow(0, 0);\r\n\t\t\t//setExportTransactionGUID((crypto as any).randomUUID()); //Doesn't actually happen in time to allow this to work\r\n\t\t\tvar query = { ...queryContext.query, SkipPages: 0, PageSize: 500, IsExportMode: true };\r\n\t\t\taxios.post(apiUrl + \"/export?transactionGUID=\" + (window as any).ExportTransactionGUID, query).then(response => {\r\n\t\t\t\tconsole.log(\"Loaded CSV Data\", response);\r\n\t\t\t\t(window as any).TrackExportProgress = false;\r\n\t\t\t\tsetTimeout(() => getExportProgress(true), 1000);\r\n\r\n\t\t\t\tif (response.data.Successful) {\r\n\t\t\t\t\tvar file = new Blob([response.data.Result], { type: \"text/csv\" });\r\n\t\t\t\t\tvar dataURL = window.URL.createObjectURL(file);\r\n\t\t\t\t\tvar link = document.createElement(\"a\");\r\n\t\t\t\t\tlink.download = \"Resource Export.csv\";\r\n\t\t\t\t\tlink.href = dataURL;\r\n\t\t\t\t\tlink.click();\r\n\t\t\t\t\twindow.URL.revokeObjectURL(dataURL);\r\n\t\t\t\t\tlink.remove();\r\n\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t//setIsExportRunning(false); \r\n\t\t\t\t\t\tsetInExportMode(false); \r\n\t\t\t\t\t }, 1000); // Delay the modal close to allow file download\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\talert(\"One or more errors were encountered during the export:\\n\" + (response.data.Messages || []).join(\"\\n\"));\r\n\t\t\t\t\tsetInExportMode(false); \r\n\t\t\t\t}\r\n\r\n\t\t\t}, error => {\r\n\t\t\t\tconsole.log(\"Error loading CSV Data\", error);\r\n\t\t\t\t//setIsExportRunning(false); //Causes page crash\r\n\t\t\t\t(window as any).TrackExportProgress = false;\r\n\t\t\t\tsetTimeout(() => getExportProgress(true), 1000);\r\n\t\t\t\tsetInExportMode(false); \r\n\t\t\t});\r\n\r\n\t\t\tgetExportProgress();\r\n\t\t}\r\n\r\n\t}, [inExportMode, isExportRunning])\r\n\t//\r\n\r\n\tfunction getExportProgress(force?: boolean) {\r\n\t\t//if ((inExportMode && isExportRunning) || force) { //Doesn't actually shut off if isExportRunning is set to false. The state doesn't update properly for some reason.\r\n\t\tif (((window as any).TrackExportProgress && (window as any).MaxExportTrackingTickets > 0) || force) {\r\n\t\t\t(window as any).MaxExportTrackingTickets--; //Prevent exports from running forever\r\n\t\t\taxios.get(apiUrl + \"/export/getprogress/\" + (window as any).ExportTransactionGUID).then(response => {\r\n\t\t\t\tconsole.log(\"Got progress\", response);\r\n\t\t\t\tif (response?.data?.Result?.TotalItems && response?.data?.Result?.ProcessedItems) {\r\n\t\t\t\t\tupdateExportWindow(response.data.Result.ProcessedItems, response.data.Result.TotalItems);\r\n\t\t\t\t}\r\n\t\t\t\tsetTimeout(getExportProgress, 1000);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\t//\r\n\r\n\tfunction cancelExport() {\r\n\t\taxios.get(apiUrl + \"/export/cancel/\" + (window as any).ExportTransactionGUID).then(response => {\r\n\t\t\tconsole.log(\"Canceled transaction\", response);\r\n\t\t\tsetTimeout(() => getExportProgress(true), 1000);\r\n\t\t});\r\n\t}\r\n\t//\r\n\r\n\r\n\tfunction updateExportWindow(count: number, total: number) {\r\n\t\ttry {\r\n\t\t\tvar percentage = total == 0 ? \"0%\" : Math.ceil((count / total) * 100) + \"%\";\r\n\t\t\t(Array.from(document.getElementsByClassName(\"exportLabel\"))[0] as any).innerHTML = \"Exporting Results... (\" + count + \" of \" + total + \")\";\r\n\t\t\tvar bar = (Array.from(document.getElementsByClassName(\"exportBar\"))[0] as any);\r\n\t\t\tbar.style.width = percentage;\r\n\t\t\tbar.innerHTML = percentage;\r\n\t\t}\r\n\t\tcatch (e) {}\r\n\t}\r\n\t//\r\n\r\n\t//Apply widgetization to the filters\r\n\tvar widgetAvailableFilters = widgetPruneFiltersAndOptions(availableFilters, queryContext.query.SearchType);\r\n\t//console.log(\"Available filters\", availableFilters);\r\n\t//console.log(\"Widget Available filters\", widgetAvailableFilters);\r\n\t//console.log(\"App Base Name\", appBaseName);\r\n\r\n\r\n return (\r\n\t\t\r\n\t\t\t\r\n \r\n \r\n \r\n \r\n {panelIsOpen && (\r\n setPanelIsOpen(false)}\r\n onUpdateFilter={onUpdateFilter}\r\n />\r\n )}\r\n \r\n \r\n \r\n {initialLoading\r\n ? `Searching...`\r\n : `${searchResult.TotalResults} results`}\r\n \r\n {!panelIsOpen && (\r\n setPanelIsOpen(true)}\r\n buttonType=\"primary\">\r\n \r\n Filter\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\r\n setDisplayMode(option.key)\r\n }\r\n getOptionLabel={(option) =>\r\n option.value\r\n }\r\n />\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tupdateCurrentQuery((query: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tquery.SortOrder = option.key;\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\r\n queryContext.updateQuery({\r\n ...queryContext.query,\r\n SortOrder: option.key\r\n });\r\n\t\t\t\t\t\t\t\t\t\t} }\r\n getOptionLabel={(option) =>\r\n option.value\r\n }\r\n />\r\n \r\n \r\n \r\n setViewMode('list')}\r\n buttonType={\r\n viewMode === 'list'\r\n ? 'primary'\r\n : undefined\r\n }>\r\n \r\n \r\n List\r\n \r\n \r\n setViewMode('map')}\r\n buttonType={\r\n viewMode === 'map'\r\n ? 'primary'\r\n : undefined\r\n }>\r\n \r\n \r\n Map\r\n \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{queryContext.query.SearchType != 'competencyframework' && \r\n\t\t\t\t\t\t\t setInExportMode(true)}>Export\r\n\t\t\t\t\t\t\t}\r\n \r\n \r\n\t\t\t\t\t{/*renderFilterPills()*/}\r\n\t\t\t\t\t
    \r\n \r\n {viewMode === 'map' && (\r\n \r\n {\r\n mapMarkers.current = setupMap(\r\n map,\r\n maps,\r\n\t\t\t\t\t\t\t\t\t\t\tresultsLocations\r\n );\r\n googleMap.current = map;\r\n googleMaps.current = maps;\r\n }}\r\n />\r\n \r\n )}\r\n \r\n {initialLoading ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n {searchResult.TotalResults === 0 && (\r\n \r\n )}\r\n {searchResult.Results.map((item, index) => {\r\n return (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n focusOnMarkersForResult(item.Meta_Id)}\r\n />\r\n {(displayMode == 'showAll' || displayMode == 'showButton') && (\r\n \r\n )}\r\n \r\n );\r\n })}\r\n \r\n )}\r\n {scrollLoading && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n
    \r\n\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t{inExportMode && }\r\n
    \r\n );\r\n}\r\n\r\nconst ExportDisplay = function (props: { totalResults: number, inExportMode: boolean, setInExportMode: any, isExportRunning: boolean, setIsExportRunning: any, startExport: any, cancelExport: any }) {\r\n\tvar estimatedExportTime = Math.ceil(((props.totalResults / 25) * 0.5) / 60); //25 = the page size of the export. Update it here if that changes. 0.5 = how long per page.\r\n\treturn \r\n\t\t\r\n\t\t\t\r\n\t\t\t\tExport{props.isExportRunning && \"ing\"} Results{props.isExportRunning && \"...\"}\r\n\t\t\t\t{props.isExportRunning && }\r\n\t\t\t\t
    \r\n\t\t\t\t{!props.isExportRunning && { (window as any).AllowExportProgress = true; props.startExport(); }}>Start Export}\r\n\t\t\t\t { (window as any).AllowExportProgress = false; props.setIsExportRunning(false); props.setInExportMode(false); props.cancelExport(); }}>Cancel/Close\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t

    The Credential Finder export contains limited key information about resources and may take a few minutes to perform. For better performance, please narrow your search results.

    \r\n\t\t\t\t

    {/*Estimated time to export {props.totalResults} resources: {estimatedExportTime < 1 ? \"Less than one minute\" : estimatedExportTime + \" minute(s)\"}. */}Click the \"Start Export\" button to begin.

    \r\n\t\t\t\t

    For a thorough export of Registry data, please review our consuming options and contact Credential Engine.

    \r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t0%\r\n\t\t\t\r\n\t\t
    \r\n\t
    \r\n}\r\n\r\nconst ExportOverlay = styled.div`\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tz-index: 1000;\r\n\tbackground-color: rgba(0,0,0,0.5);\r\n`;\r\n\r\nconst ExportModal = styled.div`\r\n\twidth: 90vw;\r\n\tmax-width: 800px;\r\n\tbackground-color: #FFF;\r\n\tpadding: 10px;\r\n\tmargin: 50px auto;\r\n\tborder-radius: 3px;\r\n\r\n\t& p {\r\n\t\tmargin: 5px 0;\r\n\t}\r\n`;\r\n\r\nconst ExportLabelWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 10px;\r\n\tpadding: 5px 10px;\r\n`;\r\n\r\nconst ExportStartButton = styled.button`\r\n\tbackground-color: #3D3;\r\n\tborder: none;\r\n\tborder-radius: 3px;\r\n\r\n\t&:hover, :focus {\r\n\t\tbackground-color: #5D5;\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n\r\nconst ExportCancelButton = styled.button`\r\n\tbackground-color: #FAA;\r\n\tborder: none;\r\n\tborder-radius: 3px;\r\n\r\n\t&:hover, :focus {\r\n\t\tbackground-color: #F77;\r\n\t\tcursor: pointer;\r\n\t}\r\n`;\r\n\r\nconst ExportDescription = styled.div`\r\n\tpadding: 5px 10px;\r\n`;\r\n\r\nconst ExportLabel = styled.div`\r\n\tfont-weight: bold;\r\n`;\r\n\r\nconst ExportBarWrapper = styled.div`\r\n\tbackground-color: #777;\r\n\tpadding: 1px;\r\n\theight: 32px;\r\n\tborder-radius: 3px;\r\n`;\r\n\r\nconst ExportBar = styled.div`\r\n\tbackground-color: #3E3;\r\n\tpadding: 5px;\r\n\tfont-weight: bold;\r\n\theight: 30px;\r\n\tmin-width: 40px;\r\n\twidth: 0%;\r\n\ttransition: width 0.2s;\r\n\ttext-align: center;\r\n\tborder-radius: 3px;\r\n`;\r\n\r\n","import React, { Dispatch, SetStateAction, useEffect, useContext, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport styled from 'styled-components/macro';\r\n\r\nimport credentials_icon from '../../assets/images/icons/icon-credentials-white-green-01.svg';\r\nimport organizations_icon from '../../assets/images/icons/icon-organization-white-green-01.svg';\r\nimport assessments_icon from '../../assets/images/icons/icon-assessments-white-green-01.svg';\r\nimport learning_opportunities_icon from '../../assets/images/icons/icon-learning-opportunities-white-green-01.svg';\r\nimport transfer_values_icon from '../../assets/images/icons/icon-transfer-value-white-green-01.svg';\r\nimport pathways_icon from '../../assets/images/icons/icon-pathways-white-green-01.svg';\r\nimport competency_frameworks_icon from '../../assets/images/icons/icon-competencies-white-green-01.svg';\r\nimport concept_schemes_icon from '../../assets/images/icons/icon-competencies-white-green-01.svg';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faAngleDown, faAngleRight, faExternalLinkAlt, faSearch, faTimes } from '@fortawesome/free-solid-svg-icons';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport { apiUrl, BUCKET_STORAGE, appURL, configName } from '../../shared/globals';\r\nimport axios from 'axios';\r\nimport { formatPrice } from '../../utils';\r\nimport { MainItemBroadType, MainSearchOption } from '../../types/internal';\r\nimport {\r\n\tCredential,\r\n\tOrganization,\r\n\tAssessment,\r\n\tLearningOpportunity,\r\n\tTransferValue,\r\n\tPathway,\r\n\t//PathwaySet,\r\n\tCompetencyFramework,\r\n\tCollection,\r\n\tConceptScheme,\r\n\tLink,\r\n\tCostProfile,\r\n\tDurationProfile,\r\n\tCompetency,\r\n ConditionProfile,\r\n Outline,\r\n Place,\r\n ContactPoint,\r\n ReferenceFramework,\r\n FinancialAssistanceProfile,\r\n DataSetProfile,\r\n AggregateDataProfile,\r\n DataSetTimeFrame,\r\n DataProfile,\r\n QuantitativeValue\r\n} from '../../types/external';\r\nimport { doesWidgetHideThisSearchType, widgetGetColor, widgetGetPluralLabelForText } from '../../utils/SiteWidgetizer';\r\nimport { addCompareItem, getCompareItemByCTID, getCompareItems, getCompareItemsByType, removeCompareItem, addOrUpdateCompareItem, updateStateOnCompareChange } from '../../utils/LocalStorage';\r\nimport { getResourceByURLWithoutState } from '../../components/GetResourceByURI';\r\nimport { getUUID } from '../../components/MiniSearch';\r\nimport Dropdown from '../../components/Dropdown';\r\nimport { mainSearchTypeOptions } from '../../shared/data';\r\nimport PillLink from '../../components/PillLink';\r\nimport { renderToString } from 'react-dom/server';\r\n\r\ninterface CompareDataProperty {\r\n\tlabel: string;\r\n\tvalue: (item: any) => JSX.Element | null;\r\n\texpanded: boolean;\r\n}\r\n\r\nexport default function ComparePage(props: RouteComponentProps) {\r\n\t//Setup tabs\r\n\tconst [currentTab, setCurrentTab] = useState(\"credential\");\r\n\tconst [compareItems, setCompareItems] = useState(getCompareItems());\r\n\r\n\t//Get the raw data out of localStorage or initialize empty containers\r\n\tvar rawCompareData = getRawCompareData();\r\n\t//getCompareDataFromShareLink(compareContext);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetCompareDataFromShareLink();\r\n\t\tupdateStateOnCompareChange(() => { setCompareItems(getCompareItems()); });\r\n\t\tsetCompareItems(getCompareItems());\r\n\t}, []);\r\n\r\n\t//Remove the share link data from the URL so this process doesn't cause things to get re-added if the user removes them since React will reread the URL and try to force it to\r\n\tuseEffect(() => {\r\n\t\tsetTimeout(function () {\r\n\t\t\tvar currentParams = new URLSearchParams(window.location.search);\r\n\t\t\tvar sharelessParams = new URLSearchParams(\"\");\r\n\t\t\tcurrentParams.forEach((value, key) => {\r\n\t\t\t\tif (!key.toLowerCase().includes(\"share_\") && !sharelessParams.get(key)) {\r\n\t\t\t\t\tsharelessParams.append(key, value);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\twindow.history.replaceState(null, document.title, window.location.href.split(\"?\")[0] + (Array.from(sharelessParams.keys()).length > 0 ? \"?\" + sharelessParams.toString() : \"\"));\r\n\t\t}, 500);\r\n\t}, []);\r\n\r\n\t//Show the tab from the selected search type, if applicable\r\n\tuseEffect(() => {\r\n\t\tvar searchType = new URLSearchParams(window.location.search?.toLowerCase()).get(\"searchtype\") || \"credential\";\r\n\t\tsetCurrentTab(searchType);\r\n\t}, []);\r\n\r\n\t//Setup the methods that will read data out of the source data\r\n\tconst [credentialCompareData, setCredentialCompareData] = useState([\r\n\t\t{ label: \"\", value: (item: Credential) => },\r\n\t\t{ label: \"\", value: (item: Credential) => },\r\n\t\t{ label: \"\", value: (item: Credential) => },\r\n\t\t{ label: \"Description\", value: (item: Credential) => , expanded: true },\r\n\t\t{ label: \"Audience Types\", value: (item: Credential) => },\r\n\t\t{ label: \"Audience Levels\", value: (item: Credential) => },\r\n\t\t//{ label: \"Industries\", value: (item: Credential) => },\r\n\t\t//{ label: \"Occupations\", value: (item: Credential) => },\r\n\t\t{ label: \"Industries\", value: (item: Credential) => },\r\n\t\t{ label: \"Occupations\", value: (item: Credential) => },\r\n\t\t{ label: \"Estimated Costs\", value: (item: Credential) => },\r\n\t\t{ label: \"Estimated Time to Earn\", value: (item: Credential) => },\r\n\t\t{ label: \"Financial Assistance\", value: (item: Credential) => m.FinancialAssistanceType).filter(m => m)} /> },\r\n\t\t{ label: \"Location(s)\", value: (item: Credential) => },\r\n\t\t{ label: \"Requirements Summary\", value: (item: Credential) => },\r\n\t\t{ label: \"Required for Credential(s)\", value: (item: Credential) => m.TargetCredential?.Values).filter(m => m)} showType={true} /> },\r\n\t\t{ label: \"Outcomes Summary\", value: (item: Credential) => }\r\n\t]);\r\n\r\n\tconst [organizationCompareData, setOrganizationCompareData] = useState([\r\n\t\t{ label: \"\", value: (item: Organization) => },\r\n\t\t{ label: \"Description\", value: (item: Organization) => , expanded: true },\r\n\t\t{ label: \"Organization Types\", value: (item: Organization) => },\r\n\t\t{ label: \"Organization Sectors\", value: (item: Organization) => },\r\n\t\t{ label: \"Service Types\", value: (item: Organization) => },\r\n\t\t//{ label: \"Industries\", value: (item: Organization) => },\r\n\t\t{ label: \"Industries\", value: (item: Organization) => },\r\n\t\t{ label: \"Location(s)\", value: (item: Organization) => }\r\n\t]);\r\n\r\n\tconst [assessmentCompareData, setAssessmentCompareData] = useState([\r\n\t\t{ label: \"\", value: (item: Assessment) => },\r\n\t\t{ label: \"\", value: (item: Assessment) => },\r\n\t\t{ label: \"Description\", value: (item: Assessment) => , expanded: true },\r\n\t\t{ label: \"Audience Types\", value: (item: Assessment) => },\r\n\t\t{ label: \"Audience Levels\", value: (item: Assessment) => },\r\n\t\t{ label: \"Assessment Method Types\", value: (item: Assessment) => },\r\n\t\t{ label: \"Delivery Method Types\", value: (item: Assessment) => },\r\n\t\t{ label: \"Industries\", value: (item: Assessment) => },\r\n\t\t{ label: \"Occupations\", value: (item: Assessment) => },\r\n\t\t{ label: \"Estimated Costs\", value: (item: Assessment) => },\r\n\t\t{ label: \"Estimated Time to Complete\", value: (item: Assessment) => },\r\n\t\t{ label: \"Financial Assistance\", value: (item: Assessment) => m.FinancialAssistanceType).filter(m => m)} /> },\r\n\t\t{ label: \"Location(s)\", value: (item: Assessment) => },\r\n\t\t{ label: \"Entry Requirements Summary\", value: (item: Assessment) => },\r\n\t\t{ label: \"Completion Requirements Summary\", value: (item: Assessment) => },\r\n\t\t{ label: \"Required for Credential(s)\", value: (item: Assessment) => m.TargetCredential?.Values).filter(m => m)} showType={true} /> },\r\n\t\t{ label: \"Outcomes Summary\", value: (item: Credential) => }\r\n\t]);\r\n\r\n\tconst [learningOpportunityCompareData, setLearningOpportunityCompareData] = useState([\r\n\t\t{ label: \"\", value: (item: LearningOpportunity) => },\r\n\t\t{ label: \"\", value: (item: LearningOpportunity) => },\r\n\t\t{ label: \"Description\", value: (item: LearningOpportunity) => , expanded: true },\r\n\t\t{ label: \"Audience Types\", value: (item: LearningOpportunity) => },\r\n\t\t{ label: \"Audience Levels\", value: (item: LearningOpportunity) => },\r\n\t\t{ label: \"Learning Method Types\", value: (item: LearningOpportunity) => },\r\n\t\t{ label: \"Delivery Types\", value: (item: LearningOpportunity) => },\r\n\t\t{ label: \"Industries\", value: (item: LearningOpportunity) => },\r\n\t\t{ label: \"Occupations\", value: (item: LearningOpportunity) => },\r\n\t\t{ label: \"Estimated Costs\", value: (item: LearningOpportunity) => },\r\n\t\t{ label: \"Estimated Time to Complete\", value: (item: LearningOpportunity) => },\r\n\t\t{ label: \"Financial Assistance\", value: (item: LearningOpportunity) => m.FinancialAssistanceType).filter(m => m)} /> },\r\n\t\t{ label: \"Location(s)\", value: (item: LearningOpportunity) => },\r\n\t\t{ label: \"Entry Requirements Summary\", value: (item: LearningOpportunity) => },\r\n\t\t{ label: \"Completion Requirements Summary\", value: (item: LearningOpportunity) => },\r\n\t\t{ label: \"Required for Credential(s)\", value: (item: LearningOpportunity) => m.TargetCredential?.Values).filter(m => m)} showType={true} /> },\r\n\t\t{ label: \"Outcomes Summary\", value: (item: Credential) => }\r\n\t]);\r\n\r\n\tconst [transferValueCompareData, setTransferValueCompareData] = useState([\r\n\t\t{ label: \"\", value: (item: TransferValue) => },\r\n\t\t{ label: \"\", value: (item: TransferValue) => },\r\n\t\t{ label: \"Description\", value: (item: TransferValue) => , expanded: true }\r\n\t]);\r\n\r\n\tconst [pathwayCompareData, setPathwayCompareData] = useState([\r\n\t\t{ label: \"\", value: (item: TransferValue) => },\r\n\t\t{ label: \"\", value: (item: TransferValue) => },\r\n\t\t{ label: \"Description\", value: (item: TransferValue) => , expanded: true }\r\n\t]);\r\n\r\n\tconst [competencyFrameworkCompareData, setCompetencyFrameworkCompareData] = useState([\r\n\t\t{ label: \"\", value: (item: TransferValue) => },\r\n\t\t{ label: \"\", value: (item: TransferValue) => },\r\n\t\t{ label: \"Description\", value: (item: TransferValue) => , expanded: true }\r\n\t]);\r\n\r\n\tconst [collectionCompareData, setCollectionCompareData] = useState([\r\n\t\t{ label: \"\", value: (item: TransferValue) => },\r\n\t\t{ label: \"\", value: (item: TransferValue) => },\r\n\t\t{ label: \"Description\", value: (item: TransferValue) => , expanded: true }\r\n\t]);\r\n\r\n\tconst [conceptSchemeCompareData, setConceptSchemeCompareData] = useState([\r\n\t\t{ label: \"\", value: (item: TransferValue) => },\r\n\t\t{ label: \"\", value: (item: TransferValue) => },\r\n\t\t{ label: \"Description\", value: (item: TransferValue) => , expanded: true }\r\n\t]);\r\n\r\n\tconst [competencyCompareData, setCompetencyCompareData] = useState([\r\n\t\t{ label: \"\", value: (item: Competency) => },\r\n\t\t{ label: \"Description\", value: (item: Competency) => , expanded: true }\r\n\t]);\r\n\r\n\tconst [supportServiceCompareData, setSupportServiceCompareData] = useState([\r\n\t\t{ label: \"\", value: (item: Competency) => },\r\n\t\t{ label: \"Description\", value: (item: Competency) => , expanded: true }\r\n\t]);\r\n\r\n\t//Used to trick react later\r\n\tconst [loaded, setLoaded] = useState(false);\r\n\tfunction onItemLoad() {\r\n\t\tsetLoaded(!loaded);\r\n\t}\r\n\r\n\t//Used to remove items\r\n\tfunction removeItem(item: any) {\r\n\t\tremoveCompareItem(item);\r\n\t}\r\n\t \r\n\tvar filteredSearchTypeOptions = mainSearchTypeOptions.filter(m => !doesWidgetHideThisSearchType(m.key)).filter(m => (m as any).key != \"supportservice\"\r\n\t\t&& (m as any).key != \"outcomedata\"\r\n\t\t&& (m as any).key != \"job\"\r\n\t\t&& (m as any).key != \"occupation\"\r\n\t\t&& (m as any).key != \"task\"\r\n\t\t&& (m as any).key != \"workrole\"\r\n\t\t&& (m as any).key != \"conceptscheme\"\r\n/*\t\t&& (m as any).key != \"transfervalue\"*/\r\n\t\t&& (m as any).key != \"progressionmodel\"\r\n\t\t&& (m as any).key != \"competency\");\r\n\tfunction setCurrentTabViaDropDown(option: any) {\r\n\t\tsetCurrentTab(option.key);\r\n\t}\r\n\r\n\t//TODO: Fix the drop-down not reflecting the current tab\r\n\tconsole.log(\"current\", { currentTab: currentTab, options: mainSearchTypeOptions });\r\n\r\n\t//Render the page structure\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\tCompare\r\n\t\t\t\t\r\n\t\t\t\t\t m.key == currentTab) || filteredSearchTypeOptions[0])}\r\n\t\t\t\t\t\toptions={filteredSearchTypeOptions}\r\n\t\t\t\t\t\tgetOptionLabel={(option: MainSearchOption) => getCompareItemsByType(option.key).length + \" \" + widgetGetPluralLabelForText(option.value) }\r\n\t\t\t\t\t\tonChange={setCurrentTabViaDropDown}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t{/*\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t*/}\r\n\t\t\t\t\r\n\t\t\t\t\t enterPrintMode()}>Print\r\n\t\t\t\t\t downloadData()}>Download\r\n\t\t\t\t\t getShareLink()}>Share\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t setCredentialCompareData(credentialCompareData)} onItemLoad={onItemLoad} removeItem={removeItem} />\r\n\t\t\t\t setOrganizationCompareData(organizationCompareData)} onItemLoad={onItemLoad} removeItem={removeItem} />\r\n\t\t\t\t setAssessmentCompareData(assessmentCompareData)} onItemLoad={onItemLoad} removeItem={removeItem} />\r\n\t\t\t\t setLearningOpportunityCompareData(learningOpportunityCompareData)} onItemLoad={onItemLoad} removeItem={removeItem} />\r\n\t\t\t\t setTransferValueCompareData(transferValueCompareData)} onItemLoad={onItemLoad} removeItem={removeItem} />\r\n\t\t\t\t setPathwayCompareData(pathwayCompareData)} onItemLoad={onItemLoad} removeItem={removeItem} />\r\n\t\t\t\t setCompetencyFrameworkCompareData(competencyFrameworkCompareData)} onItemLoad={onItemLoad} removeItem={removeItem} />\r\n\t\t\t\t setCollectionCompareData(collectionCompareData)} onItemLoad={onItemLoad} removeItem={removeItem} />\r\n\t\t\t\t setConceptSchemeCompareData(conceptSchemeCompareData)} onItemLoad={onItemLoad} removeItem={removeItem} />\r\n\t\t\t\t setCompetencyCompareData(competencyCompareData)} onItemLoad={onItemLoad} removeItem={removeItem} />\r\n\t\t\t\t setSupportServiceCompareData(supportServiceCompareData)} onItemLoad={onItemLoad} removeItem={removeItem} />\r\n\t\t\t\t{/* setCompetencyCompareData(competencyCompareData)} onItemLoad={onItemLoad} removeItem={removeItem} />*/}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{/**/}\r\n\t\t\t\r\n\t\t
    \r\n\t)\r\n}\r\n\r\nfunction CompareTabButton(props: { broadType: string, currentTab: string, label: string, icon: string, source: any[], onClick: Dispatch> }) {\r\n\tvar isHidden = (window as any).Widget?.Config?.HideGlobalFilters?.filter((m: any) => m.toLowerCase().includes(props.broadType.toLowerCase()))[0] != null;\r\n\treturn isHidden ? null : (\r\n\t\t props.onClick(props.broadType)} className={props.currentTab == props.broadType ? \"currentTab\" : \"\"}>\r\n\t\t\t\"\"\r\n\t\t\t{props.label}\r\n\t\t\r\n\t)\r\n}\r\n\r\nfunction CompareTabContent(props: { broadType: string, currentTab: string, properties: CompareDataProperty[], update: (data: CompareDataProperty[]) => void, onItemLoad: () => void, removeItem: (item: any) => void }) {\r\n\tconst [expanded, setExpanded] = useState(false);\r\n\tconst [sourceData, setSourceData] = useState(getCompareItemsByType(props.broadType) as Array);\r\n\r\n\tuseEffect(() => {\r\n\t\t//updateStateOnCompareChange(() => { setSourceData(getCompareItemsByType(props.broadType)); }); //Don't uncomment this, it causes the page to infinite loop itself to death\r\n\t\tsetSourceData(getCompareItemsByType(props.broadType));\r\n\t}, []);\r\n\r\n\tfunction toggleCollapse(property: CompareDataProperty) {\r\n\t\t//Toggle whether this is expanded\r\n\t\tproperty.expanded = !property.expanded;\r\n\t\t//Update it in the state\r\n\t\tprops.update(props.properties);\r\n\t\t//Trick react into re-rendering the component\r\n\t\tsetExpanded(!expanded);\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{\r\n\t\t\t\t(!sourceData || sourceData.length == 0) &&\r\n\t\t\t\tNothing selected to compare\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{props.properties.map((property, propertyIndex) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{sourceData.map((item, sourceIndex) => (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t//If it's not loaded yet and this is the first row, use a single table cell with an appropriate rowspan to contain the loader\r\n\t\t\t\t\t\t\t\t\t\tpropertyIndex == 0 &&\r\n\t\t\t\t\t\t\t\t\t\t!item.Meta_IsLoaded &&\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t { setSourceData(getCompareItemsByType(props.broadType)); }} />\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t//Otherwise render as normal\r\n\t\t\t\t\t\t\t\t\t\titem.Meta_IsLoaded &&\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tproperty.label &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t { toggleCollapse(property); }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{property.label}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{property.value(item)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{propertyIndex == 0 && { removeCompareItem(item); setSourceData(getCompareItemsByType(props.broadType)); }} aria-label=\"Remove this item\">}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t) || null\r\n}\r\n\r\nfunction PrintContent(props: { label: string; broadType: string, properties: CompareDataProperty[] }) {\r\n\tvar sourceData = getCompareItemsByType(props.broadType) as Array;\r\n\r\n\treturn (\r\n\t\tsourceData.length > 0 &&\r\n\t\t\r\n\t\t\t{props.label}\r\n\t\t\t{sourceData.map((item, sourceIndex) => (\r\n\t\t\t\t\r\n\t\t\t\t\t{props.properties.map((property, propertyIndex) => (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{property.label &&
    {property.label}
    }\r\n\t\t\t\t\t\t\t{property.value(item)}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t))}\r\n\t\t\t\t
    \r\n\t\t\t))}\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nfunction CostProfileData(props: { source: CostProfile }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t{props.source.Name && {props.source.Name}:}\r\n\t\t\t\t{props.source.Description &&
    {props.source.Description}
    }\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t{props.source.CostItems?.map((item) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {item.DirectCostType?.Label}
    \r\n\t\t\t\t\t\t\t
    {(item.AudienceType || []).concat(item.ResidencyType || []).map((type) => { return type.Label }).join(\", \")}
    \r\n\t\t\t\t\t\t\t
    {item.PaymentPattern}
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t{formatPrice(item.Price || 0, props.source.CurrencySymbol || \"\")}\r\n\t\t\t\t\t
    \r\n\t\t\t\t))}\r\n\t\t\t
    \r\n\t\t
    \r\n\t)\r\n}\r\n\r\nfunction PlaceData(props: { source: Place }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t{(props.source.Latitude != 0 && props.source.Longitude != 0) && {props.source.Name || \"Unnamed Location\"}}\r\n\t\t\t{(props.source.Latitude == 0 || props.source.Longitude == 0) &&
    {props.source.Name || \"Unnamed Location\"}
    }\r\n\t\t\t
    {props.source.StreetAddress || \"Unknown Street Address\"}
    \r\n\t\t\t
    {props.source.AddressLocality || \"Unknown City\"}, {props.source.AddressRegion || \"Unknown State/Province/Region\"} {props.source.PostalCode || \"Unknown Postal Code\"}
    \r\n\t\t\t
    \r\n\t\t\t\t{props.source.TargetContactPoint?.map((contact: ContactPoint) => {\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    {contact.Name || contact.ContactType || \"Unknown Contact Name/Type\"}
    \r\n\t\t\t\t\t\t{contact.Telephone?.length > 0 &&
    {contact.Telephone.map((phone: string) => {
    {phone}
    })}
    }\r\n\t\t\t\t\t\t{contact.SocialMedia?.length > 0 &&
    {contact.SocialMedia.map((social: string) => { {social} })}
    }\r\n\t\t\t\t\t
    \r\n\t\t\t\t})}\r\n\t\t\t
    \r\n\t\t
    \r\n\t)\r\n}\r\n\r\nfunction ReferenceFrameworkItem(props: { source: ReferenceFramework }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t
    {props.source.Label || \"Unnamed Reference\"}
    \r\n\t\t\t{props.source.URL && } />}\r\n\t\t\t{props.source.TargetNode && } target=\"_blank\" />}\r\n\t\t
    \r\n\t)\r\n}\r\n\r\nfunction ConditionProfileData(props: { source: ConditionProfile }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t{props.source.Name &&
    {props.source.Name}
    }\r\n\t\t\t{props.source.Description &&
    {props.source.Description}
    }\r\n\t\t\t{props.source.Condition &&
      {props.source.Condition.map(m =>
    • {m}
    • )}
    }\r\n\t\t
    \r\n\t)\r\n}\r\n\r\nfunction OutcomeSummaryListItem(props: { source: AggregateDataProfile }) {\r\n\tvar adpQValues = (props.source.JobsObtainedList || []);\r\n\tappendQValue(adpQValues, props.source.LowEarnings, \"Lower End Earnings\", props.source.CurrencySymbol);\r\n\tappendQValue(adpQValues, props.source.MedianEarnings, \"Median Earnings\", props.source.CurrencySymbol);\r\n\tappendQValue(adpQValues, props.source.HighEarnings, \"Higher End Earnings\", props.source.CurrencySymbol);\r\n\tvar dataProfile = ({\r\n\t\tDescription: \"Summary Information\",\r\n\t\tStartDate: props.source.DateEffective,\r\n\t\tEndDate: props.source.ExpirationDate,\r\n\t\tDataAvailable: adpQValues\r\n\t} as any) as DataProfile;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{props.source.Name &&
    {props.source.Name}
    }\r\n\t\t\t{props.source.Description &&
    {props.source.Description}
    }\r\n\t\t\t{props.source.DateEffective && props.source.ExpirationDate &&
    {props.source.DateEffective} - {props.source.ExpirationDate}
    }\r\n\t\t\t{props.source.DateEffective && !props.source.ExpirationDate &&
    Beginning {props.source.DateEffective}
    }\r\n\t\t\t{!props.source.DateEffective && props.source.ExpirationDate &&
    Ending {props.source.ExpirationDate}
    }\r\n\t\t\t{props.source.PostReceiptMonths &&
    Value(s) {props.source.PostReceiptMonths} Months after earning the Credential:
    }\r\n\t\t\t\r\n\t\t\t{props.source.RelevantDataSet &&
    {props.source.RelevantDataSet.map((dsp: DataSetProfile) => (\r\n\t\t\t\t
    \r\n\t\t\t\t\t{dsp.Name &&
    {dsp.Name}
    }\r\n\t\t\t\t\t{dsp.Description &&
    {dsp.Description}
    }\r\n\t\t\t\t\t{dsp.DataSetTimePeriod?.length > 0 &&
    {dsp.DataSetTimePeriod.map((dstf: DataSetTimeFrame) => (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{dstf.StartDate && dstf.EndDate &&
    {dstf.StartDate} - {dstf.EndDate}
    }\r\n\t\t\t\t\t\t\t{dstf.StartDate && !dstf.EndDate &&
    Beginning {dstf.StartDate}
    }\r\n\t\t\t\t\t\t\t{!dstf.StartDate && dstf.EndDate &&
    Ending {dstf.EndDate}
    }\r\n\t\t\t\t\t\t\t{dstf.DataAttributes?.length > 0 &&
    {dstf.DataAttributes.map((dp: DataProfile) => (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{dp.Description &&
    {dp.Description}
    }\r\n\t\t\t\t\t\t\t\t\t{Object.keys(dp).filter(m => Array.isArray((dp as any)[m]) && ((dp as any)[m] as any).length > 0).map((property: string) => (\r\n\t\t\t\t\t\t\t\t\t\t} cssClass=\"quantitativeValueList\" />\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t))}
    }\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t))}
    }\r\n\t\t\t\t
    \r\n\t\t\t))}
    }\r\n\t\t
    \r\n\t)\r\n\r\n\t//Helper function\r\n\tfunction appendQValue(list: Array, value: number, description: string, currencySymbol: string) {\r\n\t\tif (value) {\r\n\t\t\tlist.push({\r\n\t\t\t\tDescription: description,\r\n\t\t\t\tCurrencySymbol: currencySymbol,\r\n\t\t\t\tValue: value\r\n\t\t\t} as QuantitativeValue);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction QuantitativeValueList(props: { source: QuantitativeValue[], cssClass: string }) {\r\n\treturn props.source?.length > 0 && (\r\n\t\t
    \r\n\t\t\t{props.source.map((qvalue: QuantitativeValue) => (\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    {qvalue.Description || \"Unnamed Value\"}
    \r\n\t\t\t\t\t
    {qvalue.CurrencySymbol}{qvalue.Value ? qvalue.Value : (qvalue.MinValue && qvalue.MaxValue) ? (qvalue.MinValue + \" - \" + qvalue.MaxValue) : qvalue.MinValue ? (\"At least \" + qvalue.MinValue) : qvalue.MaxValue ? (\"Up to \" + qvalue.MaxValue) : qvalue.Percentage ? (qvalue.Percentage + \"%\") : \"Unknown\"}
    \r\n\t\t\t\t
    \r\n\t\t\t))}\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nfunction LoadCompareItem(props: { source: any, onItemLoad: () => void }) {\r\n\t//Get a matching item so we can ensure it exists, and also manipulate it\r\n\tvar item = { ...props.source };\r\n\r\n\t//Prevent infinite loop crash if an item fails to load\r\n\t//Need to overhaul compare page to negate the need to do this\r\n\t(window as any).CompareAntiCrash = (window as any).CompareAntiCrash || [];\r\n\tvar stringItem = JSON.stringify(item);\r\n\tvar testItem = (window as any).CompareAntiCrash.find((m: any) => m.Item == stringItem);\r\n\tif (testItem) {\r\n\t\ttestItem.Count++;\r\n\t\tif (testItem.Count > 10) {\r\n\t\t\tconsole.log(\"Unknown infinite loop error. Gave up trying to load item:\", item);\r\n\t\t\titem.Meta_IsError = true;\r\n\t\t\titem.Meta_IsLoading = false;\r\n\t\t}\r\n\t}\r\n\telse {\r\n\t\t(window as any).CompareAntiCrash.push({ Item: stringItem, Count: 0 });\r\n\t}\r\n\r\n\t//If loaded or error, return\r\n\tif (item.Meta_IsLoaded || item.Meta_IsError) {\r\n\t\treturn
    Error loading data.
    \r\n\t}\r\n\r\n\t//Fetch the item\r\n\titem.Meta_IsLoading = true;\r\n\taddOrUpdateCompareItem(item);\r\n\tgetResourceByURLWithoutState(apiUrl + \"/compare/\" + props.source.BroadType + \"/\" + props.source.Meta_Id, null, (response: any) => {\r\n\t\tconsole.log(\"Response\", response);\r\n\t\tif (response.Successful) {\r\n\t\t\tresponse.Result.Meta_IsLoaded = true;\r\n\t\t\taddOrUpdateCompareItem(response.Result);\r\n\t\t\tprops.onItemLoad();\r\n\t\t}\r\n\t\telse {\r\n\t\t\titem.Meta_IsError = true;\r\n\t\t\taddOrUpdateCompareItem(item);\r\n\t\t}\r\n\t}, (error: any) => {\r\n\t\titem.Meta_IsError = true;\r\n\t\taddOrUpdateCompareItem(item);\r\n\t\tconsole.log(\"Error getting resource\", { source: props.source, error: error });\r\n\t});\r\n\r\n\t//Loading\r\n\treturn \r\n}\r\n\r\nfunction getRawCompareData() {\r\n\tvar rawCompareData = {} as any;\r\n\trawCompareData.credential = getCompareItemsByType(\"credential\");\r\n\trawCompareData.organization = getCompareItemsByType(\"organization\");\r\n\trawCompareData.assessment = getCompareItemsByType(\"assessment\");\r\n\trawCompareData.learningopportunity = getCompareItemsByType(\"learningopportunity\");\r\n\trawCompareData.transfervalue = getCompareItemsByType(\"transfervalue\");\r\n\trawCompareData.pathway = getCompareItemsByType(\"pathway\");\r\n\trawCompareData.competencyframework = getCompareItemsByType(\"competencyframework\");\r\n\trawCompareData.collection = getCompareItemsByType(\"collection\");\r\n\trawCompareData.conceptscheme = getCompareItemsByType(\"conceptscheme\");\r\n\r\n\tconsole.log(\"Loaded raw compare data\", rawCompareData);\r\n\treturn rawCompareData;\r\n}\r\n\r\n\r\nfunction setRawCompareData(rawCompareData: any, flag: string) {\r\n\tconsole.log(\"Setting raw compare data via \" + flag, rawCompareData);\r\n\twindow.localStorage.setItem(BUCKET_STORAGE, JSON.stringify(rawCompareData));\r\n}\r\n\r\nfunction enterPrintMode() {\r\n\twindow.print();\r\n}\r\n\r\nfunction downloadData() {\r\n\t//Setup the container\r\n\tvar data = getRawCompareData();\r\n\tvar header = [\"Type\", \"CTID\", \"URL\", \"Name\", \"CTDL Type\", \"Description\", \"Audience Types\", \"Audience Levels\", \"Industries\", \"Occupations\", \"Estimated Costs\", \"Estimated Time to Earn/Complete\", \"Financial Assistance Types\", \"Locations\", \"Entry Requirements\", \"Completion Requirements\", \"Delivery Types\", \"Assessment Method Types\", \"Learning Method Types\", \"Required for Credentials\", \"Organization Types\", \"Organization Sectors\", \"Service Types\", \"Outcomes Summary\"];\r\n\tvar csv = [header];\r\n\r\n\t//Read the data\r\n\treadItems(\"Credential\", \"/credential/\", data.credential);\r\n\treadItems(\"Organization\", \"/organization/\", data.organization);\r\n\treadItems(\"Assessment\", \"/assessment/\", data.assessment);\r\n\treadItems(\"Learning Opportunity\", \"/learningopportunity/\", data.learningopportunity);\r\n\treadItems(\"Transfer Value\", \"/transfervalue/\", data.transfervalue);\r\n\treadItems(\"Pathway\", \"/pathway/\", data.pathway);\r\n\treadItems(\"PathwaySet\", \"/pathwayset/\", data.pathwayset);\r\n\treadItems(\"Competency Framework\", \"/competencyframework/\", data.competencyframework);\r\n\treadItems(\"Collection\", \"/collection/\", data.collection);\r\n\treadItems(\"Concept Scheme\", \"/conceptscheme/\", data.conceptscheme);\r\n\r\n\t//Convert to CSV file\r\n\tvar csvText = csv.map((row) => {\r\n\t\tvar rowText = JSON.stringify(row);\r\n\t\treturn rowText.substring(1, rowText.length - 1);\r\n\t}).join(\"\\n\");\r\n\r\n\t//Return the file\r\n\tvar blob = new Blob([csvText], { type: \"text/csv;charset=utf-8\" });\r\n\tvar blobURL = URL.createObjectURL(blob);\r\n\tvar link = document.createElement(\"a\");\r\n\tlink.href = blobURL;\r\n\tlink.download = \"Comparison Data.csv\";\r\n\tlink.target = \"_blank\";\r\n\tdocument.body.appendChild(link);\r\n\tlink.click();\r\n\r\n\tfunction readItems(label: string, urlPart: string, items: any[]) {\r\n\t\t(items || []).filter(m => m).forEach((item: any) => {\r\n\t\t\tvar rowData = [\r\n\t\t\t\tlabel,\r\n\t\t\t\titem.CTID || \"No CTID available for reference entities\",\r\n\t\t\t\tappURL + urlPart + item.Meta_Id,\r\n\t\t\t\titem.Name,\r\n\t\t\t\titem.CTDLTypeLabel,\r\n\t\t\t\titem.Description,\r\n\t\t\t\tflattenLinks(item.AudienceType),\r\n\t\t\t\tflattenLinks(item.AudienceLevelType),\r\n\t\t\t\tflattenLinks(item.IndustryType),\r\n\t\t\t\tflattenLinks(item.OccupationType),\r\n\t\t\t\tflattenCosts(item.EstimatedCost),\r\n\t\t\t\t(item.EstimatedDuration || []).map((duration: any) => { return duration.DurationSummary }).join(\" | \"),\r\n\t\t\t\tflattenLinks((item.FinancialAssistance || [] as Array).flatMap((financial: any) => { return financial.FinancialAssistanceType }).filter((m: any) => m)),\r\n\t\t\t\tflattenPlaces(item.AvailableAt || item.Address),\r\n\t\t\t\tflattenConditionProfiles(item.EntryCondition, true, true, false),\r\n\t\t\t\tflattenConditionProfiles(item.Requires, true, true, false),\r\n\t\t\t\tflattenLinks(item.DeliveryType),\r\n\t\t\t\tflattenLinks(item.AssessmentMethodType),\r\n\t\t\t\tflattenLinks(item.LearningMethodType),\r\n\t\t\t\tflattenConditionProfiles(item.IsRequiredFor, false, false, true),\r\n\t\t\t\tflattenLinks(item.AgentType),\r\n\t\t\t\tflattenLinks(item.AgentSectorType),\r\n\t\t\t\tflattenLinks(item.ServiceType),\r\n\t\t\t\tflattenOutcomes(item.AggregateData, item.ExternalDataSetProfiles)\r\n\t\t\t];\r\n\t\t\trowData.forEach((item: any) => {\r\n\t\t\t\titem = (item || \"\").replace(/\"/g, '\"\"');\r\n\t\t\t\titem = (item.indexOf(\",\") > -1 || item.indexOf(\"\\r\\n\") > -1 || item.indexOf(\"\\n\")) ? '\"' + item + '\"' : item;\r\n\t\t\t});\r\n\t\t\tcsv.push(rowData);\r\n\t\t});\r\n\t}\r\n\r\n\tfunction flattenLinks(links: any[]) {\r\n\t\treturn (links || []).map((link) => { return link.Label }).join(\" | \");\r\n\t}\r\n\r\n\tfunction flattenCosts(costs: any[]) {\r\n\t\treturn (costs || []).map((costProfile: any) => {\r\n\t\t\treturn costProfile.CostItems?.map((costItem: any) => {\r\n\t\t\t\treturn costItem.DirectCostType?.Label + \": \" + formatPrice(costItem.Price || 0, costProfile.CurrencySymbol || \"\")\r\n\t\t\t}).join(\" / \");\r\n\t\t}).join(\" | \");\r\n\t}\r\n\r\n\tfunction flattenPlaces(places: any[]) {\r\n\t\treturn (places || []).map((place: any) => {\r\n\t\t\treturn [place.StreetAddress, place.AddressLocality, place.AddressRegion, place.PostalCode].filter(m => m).join(\", \")\r\n\t\t}).join(\" | \");\r\n\t}\r\n\r\n\tfunction flattenConditionProfiles(conditionProfiles: any[], includeDescription: boolean, includeCondition: boolean, includeTargetCredentials: boolean) {\r\n\t\treturn (conditionProfiles || []).flatMap((conditionProfile: any) => {\r\n\t\t\treturn [\r\n\t\t\t\t(includeDescription && conditionProfile.Description),\r\n\t\t\t\t(includeCondition && conditionProfile.Condition),\r\n\t\t\t\t(\r\n\t\t\t\t\t(includeTargetCredentials && conditionProfile.TargetCredential) &&\r\n\t\t\t\t\t((Array.isArray(conditionProfile.TargetCredential) ?\r\n\t\t\t\t\t\tconditionProfile.TargetCredential :\r\n\t\t\t\t\t\t[conditionProfile.TargetCredential]) as Array)\r\n\t\t\t\t\t.flatMap((item: any) => item.Name || item.Label)\r\n\t\t\t\t)\r\n\t\t\t].flatMap(m => m).filter(m => m).join(\"; \");\r\n\t\t}).join(\" | \");\r\n\t}\r\n\r\n\tfunction flattenOutcomes(aggregateData: any[], externalData: []) {\r\n\t\tvar combined = combineOutcomesData(aggregateData as AggregateDataProfile[], externalData as DataSetProfile[]);\r\n\t\tvar container = [] as Array;\r\n\t\t(combined || []).map((adp: any) => {\r\n\t\t\tadp.Description && container.push(adp.Description);\r\n\t\t\t(adp.RelevantDataSet || []).forEach((dsp: any) => {\r\n\t\t\t\tdsp.Description && container.push(dsp.Description);\r\n\t\t\t\t(dsp.DataSetTimePeriod || []).forEach((dstf: any) => {\r\n\t\t\t\t\t(dstf.DataAttributes || []).forEach((dp: any) => {\r\n\t\t\t\t\t\tObject.keys(dp).filter(m => Array.isArray((dp as any)[m]) && ((dp as any)[m] as any).length > 0).map((property: string) => {\r\n\t\t\t\t\t\t\tdp[property].forEach((qvalue: any) => {\r\n\t\t\t\t\t\t\t\tvar label = qvalue.Description || \"Unnamed Value\";\r\n\t\t\t\t\t\t\t\tvar value = \"\";\r\n\t\t\t\t\t\t\t\tvar currency = qvalue.CurrencySymbol || \"\";\r\n\t\t\t\t\t\t\t\t(qvalue.MinValue && qvalue.MaxValue) && (value += currency + qvalue.MinValue + \" - \" + currency + qvalue.MaxValue);\r\n\t\t\t\t\t\t\t\t(qvalue.MinValue && !qvalue.MaxValue) && (value += \"At least \" + currency + qvalue.MinValue);\r\n\t\t\t\t\t\t\t\t(!qvalue.MinValue && qvalue.MaxValue) && (value += \"Up to \" + currency + qvalue.MaxValue);\r\n\t\t\t\t\t\t\t\t(qvalue.Value && !value) && (value += currency + qvalue.Value);\r\n\t\t\t\t\t\t\t\tqvalue.Percentage && (value += qvalue.Percentage + \"%\");\r\n\t\t\t\t\t\t\t\tif (value) {\r\n\t\t\t\t\t\t\t\t\tcontainer.push(label + \": \" + value);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t})\r\n\t\treturn container.filter(m => m).join(\"; \");\r\n\t}\r\n}\r\n\r\nfunction getShareLink() {\r\n\tvar params = [] as Array;\r\n\t[\"credential\", \"organization\", \"assessment\", \"learningopportunity\", \"transfervalue\", \"pathway\", \"competencyframework\", \"collection\", \"conceptscheme\"].forEach(type => {\r\n\t\tvar items = getCompareItemsByType(type);\r\n\t\tif (items.length > 0) {\r\n\t\t\tparams.push(\"share_\" + type + \"=\" + items.map((item: any) => item.Meta_Id).join(\",\"));\r\n\t\t}\r\n\t});\r\n\tvar link = window.location.href + (window.location.search.indexOf(\"?\") > -1 ? \"&\" : \"?\") + params.join(\"&\");\r\n\tprompt(\"Copy and paste this URL\", link);\r\n\treturn;\r\n\r\n\tfunction getIDs(param: string, items: any[]) {\r\n\t\tvar ids = (items || []).map((item: any) => { return item.Meta_Id }).filter((item: any) => { return item });\r\n\t\treturn ids.length > 0 ? param + \"=\" + ids.join(\",\") : null;\r\n\t}\r\n}\r\n//\r\n\r\nfunction getCompareDataFromShareLink() {\r\n\tvar params = new URLSearchParams(window.location.search);\r\n\t[\"credential\", \"organization\", \"assessment\", \"learningopportunity\", \"transfervalue\", \"pathway\", \"competencyframework\", \"collection\", \"conceptscheme\"].forEach(type => {\r\n\t\tvar key = Array.from(params.keys()).find((key: string) => key.toLowerCase() == \"share_\" + type);\r\n\t\tif (key) {\r\n\t\t\t(params.get(key) || \"\").split(\",\").forEach(id => {\r\n\t\t\t\tvar item = { BroadType: type, Meta_Id: id, CTID: \"temp-\" + getUUID(), Name: \"Loading...\" } as any;\r\n\t\t\t\t//addCompareItem(item); //Don't do this, it causes the page to self-destruct\r\n\r\n\t\t\t\tgetResourceByURLWithoutState(apiUrl + \"/compare/\" + type + \"/\" + id, null, (response: any) => {\r\n\t\t\t\t\tconsole.log(\"Response\", response);\r\n\t\t\t\t\tif (response.Successful) {\r\n\t\t\t\t\t\tresponse.Result.Meta_IsLoaded = true;\r\n\t\t\t\t\t\taddCompareItem(response.Result);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\titem.Meta_IsError = true;\r\n\t\t\t\t\t\taddCompareItem(item);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, (error: any) => {\r\n\t\t\t\t\titem.Meta_IsError = true;\r\n\t\t\t\t\taddCompareItem(item);\r\n\t\t\t\t\tconsole.log(\"Error getting resource from share link\", { source: item, error: error });\r\n\t\t\t\t});\r\n\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n}\r\n//\r\n\r\n//Comparison Components\r\nfunction HtmlLink(props: { source: Partial, cssClass?: string }) {\r\n\treturn (props.source && {props.source.Label}) || NoItemData()\r\n}\r\n\r\nfunction HtmlDiv(props: { source: string, cssClass?: string }) {\r\n\treturn (props.source &&
    {props.source}
    ) || null\r\n}\r\n\r\nfunction LinksAsPlainList(props: { source: Link[], cssClass?: string }) {\r\n\treturn (props.source?.length > 0 &&
      {props.source.map((item, index) =>
    • {item.Label}
    • )}
    ) || NoItemData()\r\n}\r\n\r\nfunction OutlinesAsLinkList(props: { source: Outline[], cssClass?: string, showType?: boolean }) {\r\n\treturn (props.source?.length > 0 &&
      {props.source.map((item, index) =>
    • {item.Label} {props.showType && \"(\" + item.Tags?.[0]?.Label + \")\"}
    • )}
    ) || NoItemData()\r\n}\r\n\r\nfunction CostProfileList(props: { source: CostProfile[], cssClass?: string }) {\r\n\treturn (props.source?.length > 0 &&
    {props.source.map((profile, index) => )}
    ) || NoItemData()\r\n}\r\n\r\nfunction DurationProfileList(props: { source: DurationProfile[], cssClass?: string }) {\r\n\treturn (props.source?.length > 0 &&
    {props.source.map((profile, index) => {profile.DurationSummary})}
    ) || NoItemData()\r\n}\r\n\r\nfunction PlaceList(props: { source: Place[], cssClass?: string }) {\r\n\treturn (props.source?.length > 0 &&
    {props.source.map((profile, index) => )}
    ) || NoItemData()\r\n}\r\n\r\nfunction ConditionProfileList(props: { source: ConditionProfile[], cssClass?: string }) {\r\n\treturn (props.source?.length > 0 &&
    {props.source.map((profile, index) => )}
    ) || NoItemData()\r\n}\r\n\r\nfunction ReferenceFrameworkList(props: { source: ReferenceFramework[], cssClass?: string }) {\r\n\tif (!props.source || props.source.length == 0) {\r\n\t\treturn NoItemData();\r\n\t}\r\n\r\n\tvar groups = [] as Array;\r\n\tprops.source.forEach((item: ReferenceFramework) => {\r\n\t\tvar match = groups.find((m: any) => m.Framework == item.Framework || m.FrameworkName == item.FrameworkName);\r\n\t\tif (!match) {\r\n\t\t\tmatch = { Framework: item.Framework, FrameworkName: item.FrameworkName || \"Unnamed Framework\", Items: [item] };\r\n\t\t\tgroups.push(match);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tmatch.Items.push(item);\r\n\t\t}\r\n\t});\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t{groups.map((group, index) => (\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    {group.Framework ? {group.FrameworkName} :
    {group.FrameworkName}
    }
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{group.Items.map((item: ReferenceFramework, index: number) => )}\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t))}\r\n\t\t
    \r\n\t)\r\n}\r\n\r\nfunction OutcomeSummaryList(props: { aggregateData: AggregateDataProfile[], externalData: DataSetProfile[], cssClass?: string }) {\r\n\tif ((props.aggregateData || []).length == 0 && (props.externalData || []).length == 0) {\r\n\t\treturn NoItemData();\r\n\t}\r\n\r\n\tvar combined = combineOutcomesData(props.aggregateData, props.externalData);\r\n\r\n\treturn (combined.length > 0 &&
    {combined.map((profile, index) => )}
    ) || NoItemData();\r\n}\r\n\r\nfunction combineOutcomesData( aggregateData: AggregateDataProfile[], externalData: DataSetProfile[]) : Array {\r\n\tvar combined = (aggregateData || []) as Array;\r\n\tvar fake = { RelevantDataSet: [] } as any;\r\n\texternalData?.forEach((dsp: DataSetProfile) => {\r\n\t\tif (!combined.find(m => m.RelevantDataSet?.find((n: DataSetProfile) => n.CTID))) {\r\n\t\t\tfake.RelevantDataSet.push(dsp);\r\n\t\t}\r\n\t});\r\n\tif (fake.RelevantDataSet.length > 0) {\r\n\t\tcombined.push(fake);\r\n\t}\r\n\r\n\treturn combined;\r\n}\r\n\r\nfunction NoItemData() {\r\n\treturn No Data\r\n}\r\n\r\n//Styled Components\r\nconst Wrapper = styled.div`\r\n\tmin-height: 50vh;\r\n`;\r\n\r\nconst Header = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: stretch;\r\n\tcolor: ${(props) => widgetGetColor(\"SiteHeader\", true, props.theme.color.aquaDark)};\r\n background-color: ${(props) => widgetGetColor(\"SiteHeader\", false, props.theme.color.blueDark)};\r\n\r\n\t@media(max-width: 1000px) {\r\n\t\tflex-wrap: wrap;\r\n\t}\r\n\r\n\t@media print {\r\n\t\tdisplay: none;\r\n\t}\r\n`;\r\n\r\nconst Body = styled.div`\r\n\t& ul {\r\n\t\tmargin: 0;\r\n\t}\r\n`;\r\n\r\nconst Title = styled.div`\r\n\tfont-weight: bold;\r\n\tfont-size: 24px;\r\n\tpadding: 20px;\r\n\r\n\t@media(max-width: 1000px) {\r\n\t\torder: 1;\r\n\t}\r\n`;\r\n\r\nconst CompareTabButtons = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: stretch;\r\n\r\n\t@media(max-width: 1000px) {\r\n\t\torder: 3;\r\n\t}\r\n\r\n\t@media(max-width: 675px){\r\n\t\tdisplay: block;\r\n\t\tmargin: 0;\r\n\t\twidth: 100%;\r\n\t}\r\n`;\r\n\r\nconst StyledCompareTabButton = styled.button`\r\n\tflex: 1 1 10%;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tpadding: 10px 20px;\r\n\tbackground-color: transparent;\r\n\tborder: none;\r\n\tcolor: inherit;\r\n\tborder-bottom: 2px solid transparent;\r\n\r\n\t&:hover, &:focus {\r\n\t\tbackground-color: rgba(255, 255, 255, 0.2);\r\n\t}\r\n\r\n\t&.currentTab {\r\n\t\topacity: 1;\r\n\t\tfont-weight: bold;\r\n\t\tborder-color: ${(props) => widgetGetColor(\"SiteHeader\", true, props.theme.color.aquaDark)};\r\n\t}\r\n\r\n\t& img {\r\n\t\tdisplay: block;\r\n\t\twidth: 30px;\r\n\t\tmargin: 0 auto 5px auto;\r\n\t}\r\n\r\n\t& > span {\r\n\t\tmargin: 0 auto;\r\n\t\tfont-size: 14px;\r\n\t\tline-height: 1.3em;\r\n\t}\r\n\r\n\t@media(max-width: 675px){\r\n\t\twidth: 100%;\r\n\t\ttext-align: left;\r\n\t\tborder-bottom: none;\r\n\t\tborder-left: 5px solid transparent;\r\n\t}\r\n`;\r\n\r\nconst CompareOptionButtons = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: stretch;\r\n\tpadding: 5px;\r\n\tmargin-left: auto;\r\n\r\n\t@media(max-width: 1000px) {\r\n\t\torder: 2;\r\n\t}\r\n`;\r\n\r\nconst CompareOptionButton = styled.button`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tpadding: 10px;\r\n\tbackground-color: transparent;\r\n\tborder: none;\r\n\tcolor: #FFF;\r\n\r\n\t&:hover, &:focus {\r\n\t\tbackground-color: rgba(255, 255, 255, 0.2);\r\n\t}\r\n`;\r\n\r\nconst CompareTableWrapper = styled.div`\r\n\toverflow-x: auto;\r\n\r\n\t&:not(.currentTab) {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\t@media print {\r\n\t\tdisplay: none;\r\n\t}\r\n`;\r\n\r\nconst CompareTable = styled.table`\r\n\tborder-collapse: collapse;\r\n\r\n\t& tr {\r\n\t\t\r\n\t}\r\n\r\n\t& td {\r\n\t\tmin-width: 400px;\r\n\t\tpadding: 0;\r\n\t\tvertical-align: top;\r\n\t\tborder: 1px solid ${(props) => widgetGetColor(\"SiteHeader\", false, props.theme.color.aquaDark)};\r\n\t\tborder-width: 1px 3px;\r\n\t\twidth: 10%;\r\n\t}\r\n\r\n\t& td.loading {\r\n\t\ttext-align: center;\r\n\t\tpadding: 20px;\r\n\t}\r\n\r\n\t& .resourceName {\r\n\t\ttext-align: center;\r\n\t\tfont-weight: bold;\r\n\t}\r\n`;\r\n\r\nconst CollapseButton = styled.button`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\twidth: 100%;\r\n\tpadding: 5px 10px;\r\n\tfont-weight: bold;\r\n\tbackground-color: transparent;\r\n\tborder: none;\r\n\r\n\t& svg {\r\n\t\tmargin-left: auto;\r\n\t}\r\n\r\n\t&:hover, &:focus {\r\n\t\tcolor: ${(props) => widgetGetColor(\"SearchResultButton\", true, \"inherit\")};\r\n\t\tbackground-color: ${(props) => widgetGetColor(\"SearchResultButton\", false, props.theme.color.aquaLight)};\r\n\t}\r\n`;\r\n\r\nconst CollapseContent = styled.div`\r\n\tpadding: 5px 10px;\r\n\toverflow: auto;\r\n\tmax-height: 30vh;\r\n\tfont-size: 85%;\r\n\r\n\t&:empty {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\t&:not(.expanded) {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\t&.withCloseButton {\r\n\t\tdisplay: flex;\r\n\t\tfont-size: 16px;\r\n\t}\r\n`;\r\n\r\nconst CostProfileWrapper = styled.div`\r\n\tpadding: 5px 0;\r\n\r\n\t&:not(:last-child) {\r\n\t\tborder-bottom: 1px solid #CCC;\r\n\t}\r\n`;\r\n\r\nconst CostProfileName = styled.div`\r\n\tfont-weight: bold;\r\n\tmargin-right: 10px;\r\n`;\r\n\r\nconst CostProfileItem = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: baseline;\r\n\tpadding-left: 10px;\r\n\tborder-top: 1px dashed #CCC;\r\n`;\r\n\r\nconst CostProfileItemDetails = styled.div`\r\n\tmargin-right: 10px;\r\n`;\r\n\r\nconst CostProfileItemPrice = styled.div`\r\n\tmargin-left: auto;\r\n\tfont-weight: bold;\r\n`;\r\n\r\nconst DurationProfileWrapper = styled.div`\r\n\r\n`;\r\n\r\nconst PlaceWrapper = styled.div`\r\n\r\n`;\r\n\r\nconst OutcomeSummaryItemWrapper = styled.div`\r\n\tmargin-bottom: 10px;\r\n\t& .aggregateDataProfileName { font-weight: bold; }\r\n\t& .dateRange { font-weight: bold; } \r\n\t& .dataSetProfileList .dspName { font-weight: bold; }\r\n\t& .dataSetProfileList .dataSetTimeFrame { margin-bottom: 10px; }\r\n\t& .quantitativeValue { display: flex; align-items: baseline; gap: 10px; }\r\n\t& .quantitativeValueList:not(:first-child) { border-top: 1px dashed #CCC; }\r\n\t& .quantitativeValue:not(:first-child) { border-top: 1px dashed #CCC; }\r\n\t& .quantitativeValueValue { margin-left: auto; min-width: 50px; text-align: right; }\r\n`;\r\n\r\nconst ReferenceFrameworkWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: baseline;\r\n\tgap: 5px;\r\n\tpadding: 0 10px;\r\n\r\n`;\r\n\r\nconst ConditionProfileWrapper = styled.div`\r\n\tmargin-bottom: 10px;\r\n\r\n\t& .conditionProfileName {\r\n\t\tfont-weight: bold;\r\n\t}\r\n`;\r\n\r\nconst NoCompareData = styled.div`\r\n\tpadding: 50px;\r\n\ttext-align: center;\r\n\tfont-weight: bold;\r\n\tfont-size: 24px;\r\n`;\r\n\r\nconst NoData = styled.div`\r\n\ttext-align: center;\r\n\tfont-style: italic;\r\n\tmargin-bottom: 10px;\r\n`;\r\n\r\nconst PrintList = styled.div`\r\n\t&:not(:last-child) {\r\n\t\tborder-bottom: 1px solid #AAA;\r\n\t}\r\n\t\r\n\t@media not print {\r\n\t\tdisplay: none;\r\n\t}\r\n`;\r\n\r\nconst PrintListItem = styled.div`\r\n\tfont-size: 85%;\r\n\tpadding: 25px 0;\r\n\r\n\t& .resourceName {\r\n\t\tfont-size: 16px;\r\n\t\tfont-weight: bold;\r\n\t}\r\n\r\n\t&:not(:last-child) {\r\n\t\tborder-bottom: 1px solid #CCC;\r\n\t}\r\n\r\n\t& div {\r\n\t\tpage-break-inside: avoid;\r\n\t}\r\n`;\r\n\r\nconst PrintHeader = styled.div`\r\n\tfont-size: 18px;\r\n\tfont-weight: bold;\r\n\tpadding: 5px 0;\r\n`;\r\n\r\nconst RemoveItemButton = styled.button`\r\n\tflex: 0 0 30px;\r\n\tbackground-color: transparent;\r\n\tborder: none;\r\n\tmargin-left: auto;\r\n\tfont-size: 18px;\r\n\theight: 30px;\r\n\r\n\t&:hover, &:focus {\r\n\t\tbackground-color: ${(props) => props.theme.color.aquaLight};\r\n\t}\r\n`;\r\n\r\nconst DropdownWrapper = styled.div`\r\n\twidth: 300px;\r\n\tmargin: 18px 0;\r\n`;","export default __webpack_public_path__ + \"static/media/icon-competencies-white-green-01.5f84e4a0.svg\";","export default __webpack_public_path__ + \"static/media/icon-connections-green-blue-01.0f9f31ac.svg\";","export default __webpack_public_path__ + \"static/media/icon-subjects-and-keywords-blue-green-01.8d80084a.svg\";","import React from 'react';\r\nimport { MainItemBroadType } from '../../types/internal';\r\nimport { isFilled } from '../../validation';\r\nimport PageSection from '../PageSection';\r\nimport PageSectionItem from '../PageSectionItem';\r\nimport subjectIcon from '../../assets/images/icons/icon-subjects-and-keywords-blue-green-01.svg';\r\nimport { Label } from './styles';\r\nimport SearchPills, { ReferenceFrameworkPills } from '../SearchPills';\r\nimport HasAnyFilled from '../HasAnyFilled';\r\nimport { detailSectionProperties } from '../../utils';\r\n\r\ninterface Props {\r\n\titem: MainItemBroadType;\r\n\tpageSectionDescription?: string;\r\n}\r\n\r\nexport default function SubjectsAndKeywordsPageSection(props: Props) {\r\n\r\n\tvar looseItem = props.item as any;\r\n\r\n return (\r\n \r\n\t\t\t\r\n\t\t\t\t{isFilled(looseItem.Subject) && (\r\n \r\n \r\n\t\t\t\t\t\t\r\n \r\n )}\r\n\t\t\t\t{isFilled(looseItem.InstructionalProgramType) && (\r\n \r\n \r\n\t\t\t\t\t\t\r\n \r\n )}\r\n\t\t\t\t{isFilled(looseItem.Keyword) && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{/* CTDL-ASN Stuff */}\r\n\t\t\t\t{isFilled(looseItem.LocalSubject) && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{isFilled(looseItem.ConceptTerm) && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{isFilled(looseItem.ConceptKeyword) && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { MainItemBroadType } from '../../types/internal';\r\nimport {\r\n\tAssessment,\r\n\tCredential,\r\n\tLearningOpportunity,\r\n} from '../../types/external';\r\nimport { isFilled } from '../../validation';\r\nimport PageSection from '../PageSection';\r\nimport PageSectionItem from '../PageSectionItem';\r\nimport SearchPills, { ReferenceFrameworkPills } from '../SearchPills';\r\nimport { Label } from './styles';\r\nimport occupationIcon from '../../assets/images/icons/icon-occupations-and-industries-blue-green-01.svg';\r\nimport HasAnyFilled from '../HasAnyFilled';\r\nimport { detailSectionProperties } from '../../utils';\r\n\r\ninterface Props {\r\n\titem: MainItemBroadType;\r\n\titemTypeLabel?: string;\r\n\tpageSectionDescription?: string;\r\n}\r\n\r\nexport default function OccupationsAndIndustriesSection(props: Props) {\r\n\r\n\tvar looseItem = props.item as any;\r\n\r\n return (\r\n \r\n \r\n\t\t\t\t{isFilled(looseItem.OccupationType) && (\r\n \r\n \r\n\t\t\t\t\t\t\r\n \r\n )}\r\n\t\t\t\t{isFilled(looseItem.IndustryType) && (\r\n \r\n \r\n\t\t\t\t\t\t\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, { ReactElement, ReactNode } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { WorkforceDemand as WorkforceDemandType, Outline, WorkforceDemand, Link } from '../../types/external';\r\nimport { Box, BoxLabel, BoxContent, Section, SectionLabel, SectionContent, SectionContentItem } from './Shared';\r\nimport OutlineList from './Outline';\r\nimport JurisdictionProfileList from './JurisdictionProfile';\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport { PlainTextLink, PlainTextLinkListFromURLs } from '../DetailPage/LinkObject';\r\nimport DateRange from './DateRange';\r\n\r\nexport function WorkforceDemandAction(props: { item: WorkforceDemandType }) {\r\n\treturn props.item && (\r\n\t\t\r\n\t\t\t{props.item.Name || \"Workforce Demand\"}\r\n\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{props.item.Description &&
    {props.item.Description}
    }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    CTID: {props.item.CTID}
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t) || null;\r\n}","import React, { ReactNode, useRef, useState, useEffect } from 'react';\r\nimport styled, { DefaultTheme, StyledComponent } from 'styled-components/macro';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\r\nimport { Button } from '../common';\r\nimport { englishOrNull } from '../GetResourceByURI';\r\nimport { Wrapper, StyledModal, Close, Heading, HeadingText, SubHeading, Body } from './styles';\r\nimport { getResourceByURLWithoutState, getAJAXCacheV2 } from '../GetResourceByURI';\r\nimport ActivityIndicator from '../ActivityIndicator';\r\n\r\nexport default function AJAXModal(props: { urls: Array, buttonLabel: string, resourceTitle: string, SuccessRenderMethod: (data: any, index: number) => JSX.Element, ErrorRenderMethod: (error: any, index: number) => JSX.Element }) {\r\n\tconst [isOpen, setIsOpen] = useState(false);\r\n\tconst [loaders, setLoaders] = useState([] as Array);\r\n\tvar scrollTimer = null as any;\r\n\tvar urls = (props.urls || [] as Array);\r\n\tif (!urls.map) {\r\n\t\tdebugger;\r\n\t}\r\n\r\n\tfunction refreshLoaders() {\r\n\t\tsetLoaders(urls.map(url => {\r\n\t\t\tvar cached = getAJAXCacheV2().find((cached: any) => cached.URL == url);\r\n\t\t\treturn {\r\n\t\t\t\tURL: url,\r\n\t\t\t\tSuccess: cached?.Response,\r\n\t\t\t\tError: cached?.Error\r\n\t\t\t}\r\n\t\t}));\r\n\t}\r\n\r\n\tfunction loadItems(threshold: number) {\r\n\t\tArray.from(document.getElementsByClassName(\"modalWrapperItemWrapper\"))\r\n\t\t\t.filter((item: any) => item && item.dataset && item.dataset.status == \"waiting\" && item.offsetTop <= threshold + 50)\r\n\t\t\t.forEach((element: any) => {\r\n\t\t\t\tgetResourceByURLWithoutState(element.dataset.url, null, refreshLoaders, refreshLoaders);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tfunction handleScroll(e: any) {\r\n\t\tclearTimeout(scrollTimer);\r\n\t\tscrollTimer = setTimeout(() => {\r\n\t\t\tloadItems(e.target.scrollTop + e.target.scrollHeight);\r\n\t\t}, 250);\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\trefreshLoaders();\r\n\t\tloadItems(document.getElementsByClassName(\"modalWrapperBody\")[0]?.clientHeight || 250);\r\n\t}, [isOpen]);\r\n\r\n\treturn urls.length > 0 ? (\r\n\t\t\r\n\t\t\t setIsOpen(false)}>Close modal window\r\n\t\t\t\r\n\t\t\t{isOpen && (\r\n\t\t\t\t setIsOpen(false)}>\r\n\t\t\t\t\t) => { e.stopPropagation(); }}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{props.resourceTitle}\r\n\t\t\t\t\t\t\t setIsOpen(false)} aria-label={\"Close modal window for '\" + props.resourceTitle + \"'\"}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{props.buttonLabel}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{loaders.map((loader: any, index: number) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{loader.Success && }\r\n\t\t\t\t\t\t\t\t\t{loader.Error && }\r\n\t\t\t\t\t\t\t\t\t{!loader.Success && !loader.Error && }\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t setIsOpen(false)}>Close modal window\r\n\t\t\r\n\t) : null;\r\n}\r\n\r\nconst ModalWrapper = styled.div`\r\n\tmargin-bottom: 10px;\r\n`;\r\n\r\nconst RelativeBody = styled(Body)`\r\n\tposition: relative;\r\n`;\r\n\r\nconst ItemWrapper = styled.div`\r\n\tpadding: 5px 0;\r\n\t&:not(:first-child) {\r\n\t\tborder-top: 1px solid #CCC;\r\n\t}\r\n`;\r\n\r\nconst LoadingWrapper = styled.div`\r\n\r\n`;\r\n\r\nconst InvisibleButton = styled.button`\r\n\topacity: 0;\r\n\theight: 0;\r\n\toverflow: hidden;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\twidth: 0;\r\n\tborder: none;\r\n`;","import React, { ReactNode, useEffect, useState } from 'react';\r\nimport { renderToString } from 'react-dom/server';\r\nimport styled from 'styled-components/macro';\r\nimport { apiUrl, appBaseName, appURL, registryURL } from '../../shared/globals';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { CompetencyFramework as CompetencyFrameworkType, Competency as CompetencyType, Outline, Link, WorkforceDemand, AJAXSettings, IdentifierValue } from '../../types/external';\r\nimport { Concept } from '../ConceptSchemePage';\r\nimport competenciesbannerIcon from '../../assets/images/icons/icon-competencies-white-green-01.svg';\r\nimport competenciesIcon from '../../assets/images/icons/icon-competencies-blue-green-01.svg';\r\nimport PageBanner from '../../components/DetailPage/PageBanner';\r\nimport {\r\n\tWrapper,\r\n\tFullWidthWrapper,\r\n\tInnerWrapper,\r\n\tDescription,\r\n\tLabel,\r\n Section\r\n} from '../../components/DetailPage/styles';\r\nimport { VStack } from '../../components/Stack';\r\nimport PageSection from '../../components/PageSection';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport { getResourceByURI, englishOrNull, createKeywordSearchLink, getAndRenderByURL, getResourceByURLWithoutState, createReferenceFrameworkFromCredentialAlignmentObject } from '../../components/GetResourceByURI';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject, { PlainTextLink, PlainTextLinkList, PlainTextLinkListFromURLs } from '../../components/DetailPage/LinkObject';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport SubjectsAndKeywordsPageSection from '../../components/DetailPage/SubjectsAndKeywordsPageSection';\r\nimport OccupationsAndIndustriesSection from '../../components/DetailPage/OccupationsAndIndustriesSection';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { WorkforceDemandAction } from '../../components/DetailPage/WorkforceDemandAction';\r\nimport AJAXModal from '../../components/Modal/AJAXModal';\r\nimport AJAXResourceList, { appendAJAXCacheV3ResourceRaw, createElement, getEnglish, renderText, renderLink, renderImage, renderElement, getResourceViaResourceCacheV3 } from '../../components/AJAXResourceList';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport { CompetencyStyleBlock, renderCompetencyFromRDF } from '../../components/DetailPage/Competency';\r\nimport { renderJSONLDMetaTags } from '../../utils/JSONLDMetaHelper';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\n\r\ninterface Props {\r\n\tid: string;\r\n}\r\n\r\nexport default function CompetencyPage(props: RouteComponentProps) {\r\n\tconst id = props.match.params.id;\r\n\tconst [dataIsLoading, setDataIsLoading] = useState(true);\r\n\tconst [hasError, setHasError] = useState(false);\r\n\tconst [competency, setCompetency] = useState({} as CompetencyType);\r\n\tconst [localAJAXCache, setLocalAJAXCache] = useState([] as Array); //Used to trick react into re-rendering the data\r\n\tconst [partOfFramework, setPartOfFramework] = useState({} as Link);\r\n\tconst [memberOfCollections, setMemberOfCollections] = useState([] as Array);\r\n\tconst [substantiatingCompetencyFrameworks, setSubstantiatingCompetencyFrameworks] = useState([] as Array);\r\n\tconst [substantiatingCredentials, setSubstantiatingCredentials] = useState([] as Array);\r\n\tconst [substantiatingOrganizations, setSubstantiatingOrganizations] = useState([] as Array);\r\n\tconst [substantiatingOccupations, setSubstantiatingOccupations] = useState([] as Array);\r\n\tconst [substantiatingJobs, setSubstantiatingJobs] = useState([] as Array);\r\n\tconst [substantiatingWorkRoles, setSubstantiatingWorkRoles] = useState([] as Array);\r\n\tconst [substantiatingTasks, setSubstantiatingTasks] = useState([] as Array);\r\n\tconst [isChildOf, setIsChildOf] = useState([] as Array);\r\n\tconst [derivedFrom, setDerivedFrom] = useState([] as Array);\r\n\tconst [complexityLevel, setComplexityLevel] = useState([] as Array);\r\n\tconst [educationLevelType, setEducationLevelType] = useState([] as Array);\r\n\tconst [environmentalHazardType, setEnvironmentalHazardType] = useState([] as Array);\r\n\tconst [performanceLevelType, setPerformanceLevelType] = useState([] as Array);\r\n\tconst [physicalCapabilityType, setPhysicalCapabilityType] = useState([] as Array);\r\n\tconst [sensoryCapabilityType, setSensoryCapabilityType] = useState([] as Array);\r\n\tconst [hasProgressionLevel, setHasProgressionLevel] = useState([] as Array);\r\n\tconst [relatedItemsMap, setRelatedItemsMap] = useState({} as any);\r\n\tconst [relatedWorkRoles, setRelatedWorkRoles] = useState({} as AJAXSettings);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetResourceByURI(`${apiUrl}/dsp_competency/${id}?includeRelatedResources=false&perBranchLimit=-1&includeMetadata=true`, setLocalAJAXCache, null,\r\n\t\t//getResourceByURI(`${apiUrl}/detail/descriptionsetbyctid/${id}?includeRelatedResources=false&perBranchLimit=-1&includeMetadata=true`, setLocalAJAXCache, null,\r\n\t\t\t(loaded: any) => {\r\n\t\t\t\tsetDataIsLoading(false);\r\n\t\t\t\tsetCompetency(convertDataToCompetency(loaded?.Result?.Resource || { \"ceasn:competencyLabel\": \"Missing Competency\", \"ceasn:description\": \"Unable to find data for identifier: \" + id }, loaded?.Result?.Metadata));\r\n\t\t\t\trenderJSONLDMetaTags(loaded?.Result?.Resource, \"Competency\");\r\n\t\t\t\tsetRelatedItemsMap(loaded?.Result?.RelatedItemsMap || []);\r\n\t\t\t\tconsole.log(\"Competency\", competency);\r\n\t\t\t\tconsole.log(\"Related Items Map\", relatedItemsMap);\r\n\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceasn:isPartOf\", \"Competency Framework\", \"competencyframework\", \"ceasn:name\", null, setPartOfFramework, true, \"?targetCTID=\" + competency.CTID);\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceterms:isMemberOf\", \"Collection\", \"collection\", \"ceterms:name\", memberOfCollections, setMemberOfCollections, true, \"?targetCTID=\" + competency.CTID);\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceasn:substantiatingCompetencyFramework\", \"Competency Framework\", \"competencyframework\", \"ceasn:name\", substantiatingCompetencyFrameworks, setSubstantiatingCompetencyFrameworks, true);\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceasn:substantiatingCredential\", \"Credential\", \"credential\", \"ceterms:name\", substantiatingCredentials, setSubstantiatingCredentials, true);\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceasn:substantiatingOrganization\", \"Organization\", \"organization\", \"ceterms:name\", substantiatingOrganizations, setSubstantiatingOrganizations, true);\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceasn:substantiatingOccupation\", \"Occupation\", \"occupation\", \"ceterms:name\", substantiatingOccupations, setSubstantiatingOccupations, false);\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceasn:substantiatingJob\", \"Job\", \"job\", \"ceterms:name\", substantiatingJobs, setSubstantiatingJobs, false);\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceasn:substantiatingWorkrole\", \"Work Role\", \"workrole\", \"ceterms:name\", substantiatingWorkRoles, setSubstantiatingWorkRoles, true);\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceasn:substantiatingTask\", \"Task\", \"task\", \"ceterms:name\", substantiatingTasks, setSubstantiatingTasks, false);\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceasn:isChildOf\", \"Competency\", \"competency\", \"ceasn:competencyText\", isChildOf, setIsChildOf, true);\r\n\t\t\t\t//getLinks(competency.Meta_JSON, \"ceasn:hasChild\", \"Competency\", \"competency\", \"ceasn:competencyText\", hasChild, setHasChild, true); //Loads too much, do this in a modal instead\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceasn:derivedFrom\", \"Competency\", \"competency\", \"ceasn:competencyText\", derivedFrom, setDerivedFrom, true);\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceasn:complexityLevel\", \"Concept\", \"concept\", \"skos:prefLabel\", complexityLevel, setComplexityLevel, true);\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceasn:educationLevelType\", \"Concept\", \"concept\", \"skos:prefLabel\", educationLevelType, setEducationLevelType, true);\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceterms:environmentalHazardType\", \"Concept\", \"concept\", \"skos:prefLabel\", environmentalHazardType, setEnvironmentalHazardType, true);\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceterms:performanceLevelType\", \"Concept\", \"concept\", \"skos:prefLabel\", performanceLevelType, setPerformanceLevelType, true);\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceterms:physicalCapabilityType\", \"Concept\", \"concept\", \"skos:prefLabel\", physicalCapabilityType, setPhysicalCapabilityType, true);\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceterms:sensoryCapabilityType\", \"Concept\", \"concept\", \"skos:prefLabel\", sensoryCapabilityType, setSensoryCapabilityType, true);\r\n\t\t\t\tgetLinks(competency.Meta_JSON, \"ceasn:hasProgressionLevel\", \"Concept\", \"concept\", \"skos:prefLabel\", hasProgressionLevel, setHasProgressionLevel, true);\r\n\r\n\t\t\t\t(Array.from(competency.Meta_JSON?.[\"ceasn:conceptTerm\"] || [])).forEach((uri: any) => { //Array.from is only used here because TypeScript will not get out of my way without it\r\n\t\t\t\t\tgetResourceByURLWithoutState(uri, null, (success: any) => {\r\n\t\t\t\t\t\tcompetency.ConceptTerm.push(createKeywordSearchLink(\"competencyframework\", englishOrNull(success[\"skos:prefLabel\"])) as Link);\r\n\t\t\t\t\t\tsetLocalAJAXCache(localAJAXCache);\r\n\t\t\t\t\t\tsetCompetency({ ...competency });\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t\t\r\n\t\t\t\tsetLocalAJAXCache(localAJAXCache);\r\n\t\t\t},\r\n\t\t\t(error: any) => {\r\n\t\t\t\tsetHasError(true);\r\n\t\t\t\tconsole.log(\"Error loading data: \", error);\r\n\t\t\t}\r\n\t\t);\r\n\r\n\t\t\r\n\t}, [id, localAJAXCache])\r\n\r\n\tfunction convertDataToCompetency(resource: any, metadata: any): CompetencyType {\r\n\t\tconsole.log(\"Resource\", resource);\r\n\t\treturn {\r\n\t\t\tBroadType: \"Competency\",\r\n\t\t\tCTDLType: \"ceasn:Competency\",\r\n\t\t\tCTDLTypeLabel: \"Competency\",\r\n\t\t\tMeta_Id: id,\r\n\t\t\tMeta_Language: resource[\"ceasn:inLanguage\"]?.[0] || \"en\",\r\n\t\t\tMeta_LastUpdatedHeader: metadata?.DateModified || resource[\"ceasn:dateModified\"],\r\n\t\t\tCTID: resource[\"ceterms:ctid\"],\r\n\t\t\tCredentialRegistryURL: resource[\"@id\"],\r\n\t\t\tCompetencyLabel: englishOrNull(resource[\"ceasn:competencyLabel\"]),\r\n\t\t\tName: englishOrNull(resource[\"ceasn:competencyLabel\"]) || \"Competency\",\r\n\t\t\tCompetencyText: englishOrNull(resource[\"ceasn:competencyText\"]),\r\n\t\t\tCompetencyCategory: englishOrNull(resource[\"ceasn:competencyCategory\"]),\r\n\t\t\tDateCreated: resource[\"ceasn:dateCreated\"],\r\n\t\t\tDateModified: resource[\"ceasn:dateModified\"],\r\n\t\t\tConceptKeyword: englishOrNull(resource[\"ceasn:conceptKeyword\"])?.map((m: string) => { return createKeywordSearchLink(\"competencyframework\", m) }),\r\n\t\t\tConceptTerm: [] as Array,\r\n\t\t\tLocalSubject: (Array.isArray(englishOrNull(resource[\"ceasn:localSubject\"])) ? englishOrNull(resource[\"ceasn:localSubject\"]) : [englishOrNull(resource[\"ceasn:localSubject\"])]).filter((m: any) => m)?.map((m: string) => { return createKeywordSearchLink(\"competencyframework\", englishOrNull(m)) }), //LocalSubject is supposed to be multiple, but there was old data for the SNHU framework on sandbox, so do this for now\r\n\t\t\tComment: englishOrNull(resource[\"ceasn:comment\"]),\r\n\t\t\tInstructionalProgramType: resource[\"ceterms:instructionalProgramType\"]?.map((m: any) => { return createReferenceFrameworkFromCredentialAlignmentObject(\"competencyframework\", m) }),\r\n\t\t\tIndustryType: resource[\"ceterms:industryType\"]?.map((m: any) => { return createReferenceFrameworkFromCredentialAlignmentObject(\"competencyframework\", m) }),\r\n\t\t\tOccupationType: resource[\"ceterms:occupationType\"]?.map((m: any) => { return createReferenceFrameworkFromCredentialAlignmentObject(\"competencyframework\", m) }),\r\n\t\t\tListID: resource[\"ceasn:listID\"],\r\n\t\t\tLicense: resource[\"ceasn:license\"],\r\n\t\t\tIdentifier: resource[\"ceasn:identifier\"],\r\n\t\t\tVersionIdentifier: createIdentifier(resource[\"ceterms:versionIdentifier\"]),\r\n\t\t\tCodedNotation: resource[\"ceasn:codedNotation\"],\r\n\t\t\tInLanguage: resource[\"ceasn:inLanguage\"],\r\n\t\t\tHasChild: resource[\"ceasn:hasChild\"],\r\n\t\t\tIsChildOf: resource[\"ceasn:isChildOf\"],\r\n\t\t\tShouldIndex: resource[\"ceasn:shouldIndex\"],\r\n\t\t\tWeight: resource[\"ceasn:weight\"],\r\n\t\t\tRegistryData: { CTID: resource[\"ceterms:ctid\"], Resource: { URL: resource[\"@id\"], Label: \"View Resource\" }, Envelope: { URL: resource[\"@id\"]?.replace(\"/resources/\", \"/envelopes/\"), Label: \"View Envelope\" } },\r\n\t\t\tCreator: resource[\"ceasn:creator\"]?.map((m: string) => { return getOrganizationOutlineByURI(m) }),\r\n\t\t\tOwnedByLabel: resource[\"ceasn:creator\"]?.map((m: string) => { return getOrganizationOutlineByURI(m) })?.map((m: any) => { return { Label: m.Label, URL: m.URL } as Link; })[0],\r\n\t\t\tMeta_JSON: resource\r\n\t\t} as CompetencyType;\r\n\t};\r\n\r\n\tfunction getLinks(source: any, property: string, typeLabel: string, searchType: string, targetNameProperty: string, currentValue: any, setMethod: any, convertToFinderURL: boolean, appendText?: string) {\r\n\t\tsource = source || {};\r\n\t\tvar isArrayValue = Array.isArray(source[property]);\r\n\t\tvar value = (isArrayValue ? source[property] : [source[property]]).filter((m: any) => m);\r\n\t\tvalue.forEach((url: string) => {\r\n\t\t\tgetResourceByURLWithoutState(url, \r\n\t\t\t\tnull,\r\n\t\t\t\t(response: any) => {\r\n\t\t\t\t\tappendLink(englishOrNull(response[targetNameProperty]) || \"Error loading \" + typeLabel + \" Name\", url, response[\"ceterms:ctid\"], convertToFinderURL, appendText);\r\n\t\t\t\t},\r\n\t\t\t\t(error: any) => {\r\n\t\t\t\t\tappendLink(\"Error loading \" + typeLabel + \" Data: \" + error, url, \"\", convertToFinderURL, appendText);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t});\r\n\r\n\r\n\t\tfunction appendLink(label: string, url: string, ctid: string, convertToFinderURL: boolean, appendText?: string) {\r\n\t\t\tvar append = appendText || \"\";\r\n\t\t\tvar alteredURL = (convertToFinderURL && ctid.length > 0) ? appURL + \"/\" + searchType + \"/\" + ctid + append : url + append;\r\n\r\n\t\t\tvar link = {\r\n\t\t\t\tLabel: label,\r\n\t\t\t\tURL: alteredURL\r\n\t\t\t} as Link;\r\n\r\n\t\t\tif (isArrayValue) {\r\n\t\t\t\tvar match = currentValue.find((m: any) => m.URL == url);\r\n\r\n\t\t\t\tif (match) {\r\n\t\t\t\t\tmatch.Label = label;\r\n\t\t\t\t\tmatch.URL = alteredURL;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tcurrentValue.push(link);\r\n\t\t\t\t}\r\n\t\t\t\tsetMethod([...currentValue]);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tsetMethod(link);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction getOrganizationOutlineByURI(uri: string): Outline {\r\n\t\tvar data = getResourceByURI(uri, setLocalAJAXCache).Data;\r\n\t\treturn {\r\n\t\t\tLabel: englishOrNull(data?.[\"ceterms:name\"]) || ,\r\n\t\t\tURL: appURL + \"/organization/\" + uri.split(\"/resources/\")[1],\r\n\t\t\tImage: data?.[\"ceterms:image\"]\r\n\t\t} as Outline;\r\n\t}\r\n\r\n\tfunction createIdentifier(identifier: Array) {\r\n\t\treturn (identifier || []).map(source => {\r\n\t\t\treturn {\r\n\t\t\t\tIdentifierType: englishOrNull(source[\"ceterms:identifierType\"]),\r\n\t\t\t\tIdentifierTypeName: englishOrNull(source[\"ceterms:identifierTypeName\"]),\r\n\t\t\t\tIdentifierValueCode: englishOrNull(source[\"ceterms:identifierValueCode\"]),\r\n\t\t\t} as IdentifierValue;\r\n\t\t});\r\n\t}\r\n\r\n\tvar typeLabel = widgetGetSingleLabelForText(\"Competency\");\r\n\tvar typeLabelPlural = widgetGetPluralLabelForText(\"Competencies\");\r\n\tuseEffect(() => {\r\n\t\tconst ctid = competency.CTID;\r\n\t\tif (ctid != null) {\r\n\t\t\tvar data = getResourceByURI(`${apiUrl}/GetRelatedResource/${ctid}/34`, setLocalAJAXCache).Data;//WorkRolesEntityTypeId is 34\r\n\t\t\tif (data != null && data.Result) {\r\n\t\t\t\tsetRelatedWorkRoles(data.Result);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}, [competency]);\r\n\tif (memberOfCollections != null && memberOfCollections.length > 1) {\r\n\t\tconsole.log(memberOfCollections);\r\n\t\tconst distinctData = memberOfCollections.filter((Link, index, self) =>\r\n\t\t\tindex === self.findIndex((l) => l.URL === Link.URL)\r\n\t\t);\r\n\t\tsetMemberOfCollections(distinctData);\r\n\t}\r\n\t\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    {competency.CompetencyText || \"No description available\"}
    \r\n\t\t\t\t\t\t\t\t{competency.Comment?.length > 0 && Comments:{competency.Comment.map(m =>
    {m}
    )}
    }\r\n\t\t\t\t\t\t\t\t{competency.CompetencyCategory && Competency Category: {competency.CompetencyCategory}}\r\n\t\t\t\t\t\t\t\t{competency.Weight && Weight: {competency.Weight}}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t)\r\n}\r\n\r\nfunction AJAXModalForCompetencyConnections(props: { competency: CompetencyType, urlProperty: string, labelTemplate: string, relatedItemsMap: Array }) {\r\n\t//Outbound connections\r\n\tvar outboundValue = props.competency?.Meta_JSON?.[props.urlProperty] || [] as Array;\r\n\tvar outboundURLs = Array.isArray(outboundValue) ? outboundValue : [outboundValue];\r\n\r\n\t//Inbound connections\r\n\tvar inboundURLs = [] as Array;\r\n\tprops.relatedItemsMap.filter((map: any) => { return map.Path.match(\"< \" + props.urlProperty + \" < ceasn:Competency$\")?.length > 0 }).flatMap((map: any) => { return map.URIs }).forEach((url: string) => {\r\n\t\tif (!inboundURLs.includes(url)) {\r\n\t\t\tinboundURLs.push(url);\r\n\t\t}\r\n\t});\r\n\r\n\t//Return set\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{outboundURLs?.length > 0 && (\r\n\t\t\t\t renderCompetencyFromRDF(data, itemContent, props.relatedItemsMap, false)} StyleComponent={CompetencyStyleBlock} />}\r\n\t\t\t\t\thideCount={true}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t{inboundURLs?.length > 0 && (\r\n\t\t\t\t renderCompetencyFromRDF(data, itemContent, props.relatedItemsMap, false)} StyleComponent={CompetencyStyleBlock} />}\r\n\t\t\t\t\thideCount={true}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\n\r\nfunction RenderCompetencyLink(props: { data: any, index: number }) {\r\n\tconst [framework, setFramework] = useState({} as any);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (props.data[\"ceasn:isPartOf\"]) {\r\n\t\t\tgetResourceByURLWithoutState(props.data[\"ceasn:isPartOf\"], null, (data: any) => {\r\n\t\t\t\tsetFramework(data);\r\n\t\t\t}, (error: any) => {\r\n\t\t\t\tconsole.log(\"Error loading framework \" + props.data[\"ceasn:isPartOf\"], error);\r\n\t\t\t\tsetFramework({ \"ceasn:name\": \"Error Loading Framework\", \"ceterms:ctid\": \"ce-\" + props.data[\"ceasn:isPartOf\"].split(\"/ce-\")[1] });\r\n\t\t\t});\r\n\t\t}\r\n\t}, []);\r\n\r\n\treturn \r\n\t\t\r\n\t\t
    {englishOrNull(props.data[\"ceasn:competencyText\"])}
    \r\n\t
    \r\n}\r\n\r\nfunction RenderWorkforceDemand(props: { data: any, index: number }) {\r\n\treturn \r\n}\r\n\r\nfunction RenderError(props: { error: any, index: number }) {\r\n\treturn {props.error}\r\n}\r\n\r\nfunction RelatedLinkSet(props: { label: string, links: Array }) {\r\n\treturn props.links?.length > 0 && ( ) || null\r\n}\r\n\r\nfunction RelatedLinkSetFromURLs(props: { label: string, urls: Array }) {\r\n\treturn props.urls?.length > 0 && () || null\r\n}\r\n\r\nconst PageSectionItemHeader = styled.div`\r\n\tfont-weight: bold;\r\n`;\r\n\r\nconst Comment = styled.div`\r\n\tfont-style: italic;\r\n\tpadding: 5px;\r\n`;\r\n\r\nconst RelatedLinkList = styled(PlainTextLinkList)`\r\n\t& a {\r\n\t\tmargin-bottom: 5px;\r\n\t}\r\n`;\r\n\r\nconst RelatedListItem = styled.div`\r\n\r\n`;\r\n\r\nconst CompetencyLink = styled(RelatedListItem)`\r\n\r\n`;\r\n\r\nconst CompetencyLinkFrameworkName = styled.span`\r\n\tfont-weight: bold;\r\n\tmargin-right: 10px;\r\n`;\r\n\r\nconst Error = styled(RelatedListItem)`\r\n\r\n`;\r\n","import React, { useContext, useMemo, useState, useEffect } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { InternalButtonLink } from '../common';\r\nimport { HStack } from '../Stack';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport {\r\n faAngleDown,\r\n faAngleUp,\r\n faTimes,\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport { theme } from '../../shared/theme';\r\nimport { widgetGetColor, widgetGetPluralLabelForText } from '../../utils/SiteWidgetizer';\r\nimport { getCompareItemsByType, removeCompareItem, updateStateOnCompareChange } from '../../utils/LocalStorage';\r\nimport { configName } from '../../shared/globals';\r\n\r\nexport default function CompareSelectedListPanel(props: { onClose: () => void }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tGo to Compare Page\r\n\t\t\t\t\r\n\t\t\t\t props.onClose()} >\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{/**/}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n//\r\n\r\nfunction CollapsibleCompareItems(props: { typeLabel: string, broadType: string }) {\r\n\tconst [expanded, setExpanded] = useState(false);\r\n\tconst [items, setItems] = useState([] as Array);\r\n\r\n\tuseEffect(() => {\r\n\t\tupdateStateOnCompareChange(() => { setItems(getCompareItemsByType(props.broadType)); });\r\n\t\tsetItems(getCompareItemsByType(props.broadType));\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t setExpanded(!expanded)} aria-label={'Expand the list of ' + props.typeLabel + ' to be compared'}>\r\n\t\t\t\t{items.length} {props.typeLabel}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{expanded &&\r\n\t\t\t\titems.map((item) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{item.Name}\r\n\t\t\t\t\t\t removeCompareItem(item)} aria-label={'Remove ' + item.Name} >\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\r\n\t);\r\n}\r\n//\r\n\r\nconst Wrapper = styled.div`\r\n flex: 0 0 350px;\r\n background-color: ${(props) => widgetGetColor(\"SiteHeader\", false, props.theme.color.aquaDark)};\r\n padding: 20px;\r\n\tposition:absolute;\r\n\tright: 0;\r\n\tz-index: 50;\r\n @media (max-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n min-height: 100vh;\r\n width: 80%;\r\n }\r\n`;\r\n\r\nconst CompareTypes = styled.div`\r\n padding: 10px 0;\r\n > :not(:last-child) {\r\n border-bottom: 1px solid ${theme.color.white};\r\n }\r\n`;\r\n\r\nconst IconButton = styled(FontAwesomeIcon)`\r\n cursor: pointer;\r\n\tmargin-left: 5px;\r\n\tcolor: ${(props) => widgetGetColor(\"SearchResultButton\", true, \"black\")}\r\n`;\r\n\r\nconst CompareButton = styled(InternalButtonLink)`\r\n color: ${(props) => widgetGetColor(\"SearchResultButton\", true, props.theme.color.aquaDark)};\r\n\tborder-color: ${(props) => widgetGetColor(\"SearchResultButton\", true, props.theme.color.aquaDark)}\r\n`;\r\n\r\nconst ComparePanelCloseButton = styled.button`\r\n\tbackground-color: transparent;\r\n\tborder: none;\r\n\tcolor: ${(props) => widgetGetColor(\"SearchResultButton\", true, \"black\")}\r\n`;\r\n\r\nconst CompareItemsWrapper = styled.div`\r\n padding: 10px 0;\r\n`;\r\n\r\nconst CompareItemTitle = styled.h4`\r\n\tflex: 1 1 100%;\r\n\tmargin: 0;\r\n\tcolor: ${(props) => widgetGetColor(\"SearchResultButton\", true, \"black\")}\r\n`;\r\n\r\nconst CompareSubItemTitle = styled.p`\r\n\tflex: 1 1 100%;\r\n\tmargin: 0;\r\n\tcolor: ${(props) => widgetGetColor(\"SearchResultButton\", true, \"black\")}\r\n`;\r\n\r\nconst CompareItemsWrapperTitle = styled.button`\r\n\tdisplay: flex;\r\n\tbackground-color: transparent;\r\n\tborder: none;\r\n\twidth: 100%;\r\n\ttext-align: left;\r\n\tpadding: 5px;\r\n\t&:hover {\r\n\t\tbackground-color: rgba(255,255,255,0.3);\r\n\t}\r\n`;\r\n\r\nconst CompareItemsWrapperItem = styled.div`\r\n\tdisplay: flex;\r\n\tpadding: 5px 10px;\r\n\talign-items: baseline;\r\n`;\r\n\r\nconst CompareItemRemoveButton = styled.button`\r\n\tbackground-color: transparent;\r\n\tborder: none;\r\n\tcolor: ${(props) => widgetGetColor(\"SearchResultButton\", true, \"black\")};\r\n\t&:hover {\r\n\t\tbackground-color: rgba(255,255,255,0.3);\r\n\t}\r\n`;\r\n","export default __webpack_public_path__ + \"static/media/icon-assessments-white-green-01.fcad5ff1.svg\";","export default __webpack_public_path__ + \"static/media/icon-scoring-method-blue-green-01.006bd738.svg\";","export default __webpack_public_path__ + \"static/media/icon-example-blue-green-01.6ec802ec.svg\";","import React from 'react';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { Description, Label, Section } from '../../components/DetailPage/styles';\r\nimport {\r\n\tModalType,\r\n} from '../../types/internal';\r\nimport {\r\n\tAssessment,\r\n\tLearningOpportunity,\r\n} from '../../types/external';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport { isFilled } from '../../validation';\r\nimport { Button } from '../../components/common';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport ValueProfileList from '../../components/DetailPage/ValueProfile';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport DisplayPills from '../../components/PillDisplay';\r\n\r\ninterface Props {\r\n item: Assessment | LearningOpportunity;\r\n openedModal?: ModalType;\r\n onOpenModalClick: (modalType: ModalType) => () => void;\r\n onCloseModalClick: () => void;\r\n}\r\n\r\n// This is split out because we need to render it a second time on mobile devices.\r\nexport default function AboutDetail(props: Props) {\r\n const item = props.item;\r\n\r\n return (\r\n <>\r\n {item.LifeCycleStatusType && (\r\n \r\n \r\n \r\n \r\n )}\r\n {isFilled(item.AudienceType) && (\r\n \r\n \r\n \r\n \r\n )}\r\n {isFilled(item.AudienceLevelType) && (\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n {item.AssessmentMethodDescription && (\r\n
    {item.AssessmentMethodDescription}
    \r\n )}\r\n {isFilled(item.AssessmentMethodType) && (\r\n \r\n )}\r\n
    \r\n \r\n \r\n \r\n \r\n {item.DeliveryTypeDescription && (\r\n
    {item.DeliveryTypeDescription}
    \r\n )}\r\n {isFilled(item.DeliveryType) && (\r\n \r\n )}\r\n
    \r\n \r\n\r\n {isFilled((item as Assessment).AssessmentUseType) && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {item.LearningMethodDescription && (\r\n
    {item.LearningMethodDescription}
    \r\n )}\r\n \r\n
    \r\n\t\t\t \r\n\r\n\t\t\t{isFilled(item.ScheduleTimingType\t) && (\r\n \r\n \r\n \r\n \r\n )}\r\n\t\t\t{isFilled(item.OfferFrequencyType) && (\r\n \r\n \r\n \r\n \r\n )}\r\n\t\t\t{isFilled(item.ScheduleFrequencyType) && (\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {isFilled((item as LearningOpportunity).DegreeConcentration) && (\r\n
    \r\n \r\n \r\n
    \r\n )}\r\n \r\n \r\n\t\t\t\t\t\r\n {item.CreditUnitTypeDescription && (\r\n \r\n {item.CreditUnitTypeDescription}\r\n \r\n )} \r\n \t\t\t\t\t }\r\n\t\t\t\t\t/>\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","export default __webpack_public_path__ + \"static/media/icon-organization-green-blue-01.ffb8164c.svg\";","import React from 'react';\r\nimport {\r\n \r\n MainItemBroadType,\r\n} from '../../types/internal';\r\nimport {\r\n\tAssessment,\r\n\tCredential,\r\n\tLearningOpportunity,\r\n\tTransferValue,\r\n\tTransferIntermediary,\r\n\tOutline,\r\n\tCompetencyFramework,\r\n\tConceptScheme,\r\n\tPathway, \r\n\tPathwayComponent,\r\n\tPathwaySet,\r\n\tCollection,\r\n ScheduledOffering,\r\n SupportService,\r\n Occupation,\r\n\tDataSetProfile,\r\n\tJob,\r\n\tTask,\r\n\tWorkRole,\r\n CredentialingAction,\r\n Rubric,\r\n\tMetric,\r\n\tQualificationsFramework,\r\n\tAlignmentMap,\r\n\tIndustry\r\n} from '../../types/external';\r\nimport { isFilled } from '../../validation';\r\nimport PageSection from '../PageSection';\r\nimport PageSectionItem from '../PageSectionItem';\r\nimport orgIcon from '../../assets/images/icons/icon-organization-green-blue-01.svg';\r\nimport { Label, UnorderedList, ListWithoutBullet } from './styles';\r\nimport TextLink from '../TextLink';\r\nimport HasAnyFilled from '../HasAnyFilled';\r\nimport { detailSectionProperties, isTransferValue, isCredential } from '../../utils';\r\nimport TruncatedItemList from '../DetailPage/TruncatedItemList';\r\nimport styled from 'styled-components/macro';\r\nimport AJAXResourceList, { getEnglish, renderLink } from '../AJAXResourceList';\r\nimport { appURL } from '../../shared/globals';\r\n\r\ninterface Props {\r\n\titem: Assessment | \r\n\t\tLearningOpportunity |\r\n\t\tCredential |\r\n\t\tTransferValue |\r\n\t\tTransferIntermediary |\r\n\t\tCompetencyFramework |\r\n\t\tConceptScheme |\r\n\t\tOccupation | \r\n\t\tPathway | \r\n\t\tPathwayComponent | \r\n\t\tPathwaySet | \r\n\t\tCollection | \r\n\t\tDataSetProfile | \r\n\t\tScheduledOffering | \r\n\t\tSupportService | \r\n\t\tJob | \r\n\t\tTask | \r\n\t\tWorkRole | \r\n\t\tCredentialingAction | \r\n\t\tRubric | \r\n\t\tMetric | \r\n\t\tIndustry;\r\n\tpageSectionDescription?: string;\r\n}\r\n\r\nexport default function RelatedOrganizationPageSection(props: Props) {\r\n\tvar looseItem = props.item as any;\r\n return (\r\n \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n \r\n \r\n );\r\n}\r\n\r\nfunction OrganizationSection(props: { label: string, values: Array, innerKey: string }) {\r\n\treturn props.values?.length > 0 && (\r\n\t\t\r\n\t\t\t\r\n\t\t\t {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}}\r\n\t\t\t\ttruncateAfter={5}\r\n\t\t\t/>\r\n\t\t\r\n\t) || null;\r\n}\r\n\r\nexport function RelatedOrganizationPageSectionAJAXResourceList(props: { source: any, pageSectionDescription: string }) {\r\n\tconsole.log(\"Source\", props.source);\r\n\tif (!props.source) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvar allURIProperties = [\"ceterms:ownedBy\", \"ceterms:offeredBy\", \"ceterms:renewedBy\", \"ceterms:revokedBy\", \"ceterms:copyrightHolder\", \"ceasn:creator\", \"ceasn:publisher\", \"ceasn:rightsHolder\", \"ceterms:assertedBy\", \"ceterms:actingAgent\", \"ceterma:participant\"];\r\n\tvar allURIs = allURIProperties.flatMap(property => props.source[property] || []);\r\n\tif (allURIs.length == 0) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n\t\r\n}\r\n\r\nfunction OrganizationSectionAJAXResourceList(props: { label: string, source: any, property: string }) {\r\n\treturn props.source[props.property] && (\r\n\t\t\r\n\t\t\t\r\n\t\t\t {\r\n\t\t\t\t\titemContainer.innerHTML = \"\";\r\n\t\t\t\t\trenderLink(itemContainer, appURL + \"/resources/\" + data[\"ceterms:ctid\"], getEnglish(data[\"ceterms:name\"]), \"_blank\", \"relatedOrganizationLink\")\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t\r\n\t) || null\r\n}\r\n","export default __webpack_public_path__ + \"static/media/icon-costs-and-time-blue-green-01.836f27a6.svg\";","import styled from 'styled-components/macro';\r\n\r\nexport const Body = styled.div`\r\n padding: 10px;\r\n border: ${(p) => `1px solid ${p.theme.color.aquaDark}`};\r\n`;\r\n\r\nexport const Heading = styled.div`\r\n padding: 10px 10px 5px 10px;\r\n\tfont-weight: bold;\r\n background-color: ${(p) => p.theme.color.aquaDark};\r\n a {\r\n text-decoration: none;\r\n\t\t&:hover, &:focus {\r\n\t\t\ttext-decoration: underline;\r\n\t\t}\r\n }\r\n`;\r\n\r\nexport const LinkHeader = styled.a`\r\n\tdisplay: block;\r\n padding: 10px 10px 5px 10px;\r\n\tfont-weight: bold;\r\n background-color: ${(p) => p.theme.color.aquaDark};\r\n`;\r\n\r\nexport const Section = styled.div`\r\n margin-bottom: 15px;\r\n\r\n &:last-of-type {\r\n margin-bottom: 0;\r\n }\r\n`;\r\n\r\nexport const Type = styled.span`\r\n padding: 10px;\r\n background-color: ${(p) => p.theme.color.aquaLight};\r\n display: inline-block;\r\n`;\r\n","import React from 'react';\r\nimport {\r\n Assessment,\r\n Credential,\r\n LearningOpportunity,\r\n SupportService,\r\n} from '../../types/external';\r\nimport { Section } from './styles';\r\nimport { Body, Heading } from './profileStyles';\r\nimport { isFilled } from '../../validation';\r\nimport { decode } from 'html-entities';\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport LinkObject from './LinkObject';\r\n\r\ninterface Props {\r\n item: Assessment | LearningOpportunity | Credential | SupportService;\r\n}\r\n\r\nexport default function FinancialAssistance({ item }: Props) {\r\n return (\r\n
    \r\n {item.FinancialAssistance.map((profile, index) => (\r\n
    \r\n {profile.Name}\r\n \r\n {profile.Description && (\r\n
    \r\n \r\n
    {profile.Description}
    \r\n
    \r\n )}\r\n {isFilled(profile.FinancialAssistanceType) && (\r\n
    \r\n \r\n \r\n
    \r\n )}\r\n {isFilled(profile.FinancialAssistanceValue) && (\r\n
    \r\n \r\n {profile.FinancialAssistanceValue.map(\r\n (value, index) => (\r\n
    \r\n {decode(value)}\r\n
    \r\n ),\r\n )}\r\n
    \r\n )}\r\n {profile.SubjectWebpage && (\r\n
    \r\n\t\t\t\t\t\t\t\t{profile.SubjectWebpage && }\r\n
    \r\n )}\r\n \r\n
    \r\n ))}\r\n
    \r\n );\r\n}\r\n","import React, { useContext, useEffect, useState } from 'react';\r\nimport { ModalType } from '../../types/internal';\r\nimport {\r\n\tAssessment,\r\n\tLearningOpportunity,\r\n\tConditionManifest,\r\n\tCostManifest\r\n} from '../../types/external';\r\nimport PageSection from '../PageSection';\r\nimport PageSectionItem from '../PageSectionItem';\r\nimport costIcon from '../../assets/images/icons/icon-costs-and-time-blue-green-01.svg';\r\nimport { Label, Section } from './styles';\r\nimport { Button } from '../common';\r\nimport { ModalButtonAndWindow } from '../Modal';\r\nimport { isFilled } from '../../validation';\r\nimport FinancialAssistance from './FinancialAssistance';\r\nimport HasAnyFilled from '../HasAnyFilled';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport ConditionProfileList, { getConditionProfileListButtonName } from './ConditionProfile';\r\nimport ConditionManifestList from './ConditionManifest';\r\nimport CostManifestList from './CostManifest';\r\nimport CostProfileList from './CostProfile';\r\n\r\ninterface Props {\r\n item: Assessment | LearningOpportunity;\r\n openedModal?: ModalType;\r\n onOpenModalClick: (modalType: ModalType) => () => void;\r\n\tonCloseModalClick: () => void;\r\n\tpageSectionDescription?: string;\r\n}\r\n\r\nexport default function CostsAndTimePageSection(props: Props) {\r\n const [openedModal, setOpenedModal] = useState();\r\n function onOpenModalClick(modalType: ModalType) {\r\n return () => setOpenedModal(modalType);\r\n }\r\n\r\n function onCloseModalClick() {\r\n setOpenedModal(undefined);\r\n }\r\n return (\r\n \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{(props.item.CommonCosts?.length > 0 || props.item.EstimatedCost?.length > 0 || props.item.FinancialAssistance?.length > 0) &&\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t 0 ? \"Specific Costs\" : \"Costs\")}\r\n\t\t\t\t\t\t\tresourceTitle={props.item.Name}\r\n\t\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t\t\titems={props.item.EstimatedCost}\r\n\t\t\t\t\t\t\tWrapper={Section}\r\n\t\t\t\t\t\t\tContent={() => }\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n {isFilled(props.item.EstimatedDuration) && (\r\n \r\n \r\n
    \r\n {props.item.EstimatedDuration.map((item, index) => (\r\n
    \r\n

    \r\n Estimated: \r\n {item.DurationSummary}\r\n

    \r\n

    {item.Description}

    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n );\r\n}\r\n","import styled from 'styled-components/macro';\r\n\r\nexport const TogglerButton = styled.button`\r\n background: none;\r\n border: 0 none;\r\n bottom: 0;\r\n box-shadow: none;\r\n color: ${(p) => p.theme.color.brown};\r\n text-align: left;\r\n padding: 5px 0;\r\n`;\r\n\r\nexport const ExpandableP = styled.p`\r\n margin-bottom: 0;\r\n`;\r\n","import React, { useState } from 'react';\r\nimport { TogglerButton, ExpandableP } from './styles';\r\n\r\ninterface Props {\r\n text: string;\r\n}\r\nexport default function ExpandableText({ text }: Props) {\r\n const [showMore, setShowMore] = useState(false);\r\n\r\n const isExpandable = text.length > 300;\r\n return (\r\n
    \r\n {isExpandable ? (\r\n <>\r\n {showMore ? (\r\n {text}\r\n ) : (\r\n \r\n {text.substring(0, 300) + '...'}\r\n \r\n )}\r\n setShowMore(!showMore)}>\r\n {showMore ? 'Show less' : 'Show more'}\r\n \r\n \r\n ) : (\r\n

    {text}

    \r\n )}\r\n
    \r\n );\r\n}\r\n","import React, { useContext, useEffect, useState } from 'react';\r\nimport { ModalType } from '../../types/internal';\r\nimport {\r\n\tAssessment,\r\n\tLearningOpportunity,\r\n\tCredential,\r\n Outline,\r\n} from '../../types/external';\r\nimport PageSection from '../PageSection';\r\nimport PageSectionItem from '../PageSectionItem';\r\nimport { Label, Section, UnorderedList, ListWithoutBullet } from './styles';\r\nimport { Button } from '../common';\r\nimport { ModalButtonAndWindow } from '../Modal';\r\nimport { isFilled } from '../../validation';\r\nimport HasAnyFilled from '../HasAnyFilled';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport ConditionProfileList, { getConditionProfileListButtonName } from './ConditionProfile';\r\nimport { CompetencyFrameworkList } from '../../components/DetailPage/CompetencyFramework';\r\nimport OutlineList from './Outline';\r\nimport TruncatedItemList from './TruncatedItemList';\r\nimport { PlainTextLink } from './LinkObject';\r\nimport TextLink from '../TextLink';\r\n\r\ninterface Props {\r\n item: any;\r\n openedModal?: ModalType;\r\n onOpenModalClick: (modalType: ModalType) => () => void;\r\n onCloseModalClick: () => void;\r\n}\r\n\r\nexport default function ConnectionsSection(props: Props) {\r\n return (\r\n\t\t<>\r\n\t\t\t{props.item?.Collections?.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.ExtraData && (\r\n\t\t\t\t\t\t\t\t\t\t
    {[item.ExtraData.StartDate && \"Start Date: \" + item.ExtraData.StartDate, item.ExtraData.EndDate && \"End Date: \" + item.ExtraData.EndDate].filter((item: any) => { return item }).join(\" | \")}
    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\ttruncateAfter={5}\r\n\t\t\t\t\t/>\r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t\t{(\r\n\t\t\t\tprops.item.IsRequiredFor?.length > 0 ||\r\n\t\t\t\tprops.item.IsRecommendedFor?.length > 0 ||\r\n\t\t\t\tprops.item.AdvancedStandingFrom?.length > 0 ||\r\n\t\t\t\tprops.item.IsAdvancedStandingFor?.length > 0 ||\r\n\t\t\t\tprops.item.PreparationFrom?.length > 0 ||\r\n\t\t\t\tprops.item.IsPreparationFor?.length > 0 ||\r\n\t\t\t\tprops.item.SupportServiceCondition?.length > 0 ||\r\n\t\t\t\tprops.item.TargetAssessment?.Values?.length > 0 ||\r\n\t\t\t\tprops.item.TargetLearningOpportunity?.Values?.length > 0 ||\r\n\t\t\t\tprops.item.HasTransferValue?.Values?.length > 0 ||\r\n\t\t\t\tprops.item.HasSupportService?.Values?.length > 0 ||\r\n\t\t\t\tprops.item.TargetPathway?.Values?.length > 0 ||\r\n\t\t\t\tprops.item.ProvidesTransferValueFor?.Values?.length > 0 ||\r\n\t\t\t\tprops.item.ReceivesTransferValueFrom?.Values?.length > 0 ||\r\n\t\t\t\tprops.item.ObjectOfAction?.Values?.length > 0 ||\r\n\t\t\t\tprops.item.HasRubric?.Values?.length > 0 ||\r\n\t\t\t\tprops.item.RelatedActions?.Values?.length > 0 ||\r\n\t\t\t\tprops.item.RelatedDataSetProfiles?.Values?.length > 0\r\n\t\t\t) &&\r\n\t\t\t\t\r\n\t\t\t\t\t{/**/}\r\n\t\t\t\t\t }\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t }\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t }\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t }\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t }\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t }\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t }\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t }\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t }\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t }\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t }\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t }\r\n\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t/>\r\n\t\t\t\t\t }\r\n\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t/>\r\n\t\t\t\t }\r\n\t\t\t\t\thideCount={true}\r\n\t\t\t\t/>\r\n\t\t\t\t }\r\n\t\t\t\t\thideCount={true}\r\n\t\t\t\t/>\r\n\t\t\t\t }\r\n\t\t\t\t\thideCount={true}\r\n\t\t\t\t/>\r\n\t\t\t\t }\r\n\t\t\t\t\thideCount={true}\r\n\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\t{(props.item.RequiresCompetencies?.Values?.length > 0 || props.item.AssessesCompetencies?.Values?.length > 0 || props.item.TeachesCompetencies?.Values?.length > 0) &&\r\n\t\t\t\t\r\n\t\t\t\t{/**/}\r\n\t\t\t\t\t }\r\n\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t }\r\n\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t }\r\n\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\t{isFilled(props.item.TargetLearningResource) && (\r\n\t\t\t\t\r\n\t\t\t\t\t{/**/}\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\ttruncateAfter={5}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{(isFilled(props.item.AlignFrom) || isFilled(props.item.AlignTo) || isFilled(props.item.DerivedFrom)) && (\r\n\t\t\t\t\r\n\t\t\t\t\t{/**/}\r\n\t\t\t\t\t{props.item.AlignFrom?.length > 0 && (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\ttruncateAfter={5}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{props.item.AlignTo?.length > 0 && (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\ttruncateAfter={5}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{props.item.DerivedFrom?.length > 0 && (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\ttruncateAfter={5}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { Link, QuantitativeValue, MonetaryAmount } from '../../types/external';\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport { Section, SectionLabel, SectionContentItem } from './Shared';\r\n\r\nexport interface QuantitativeValueSingleProps {\r\n\tlabel?: string;\r\n\titem: QuantitativeValue;\r\n}\r\nexport function QuantitativeValueSingle(props: QuantitativeValueSingleProps) {\r\n\treturn (\r\n\t\tprops.item && (props.item.Description) &&\r\n\t\t\r\n\t\t\t{props.label && {props.label}}\r\n\t\t\t{props.item.Description && {props.item.Description}}\r\n\t\t\t } />\r\n\t\t\t\r\n\t\t\t\t{props.item.Value || props.item.Percentage ||0 && <>{props.item.Percentage && {props.item.Percentage + \"%\"}}{props.item.Value && {props.item.Value}}}\r\n\t\t\t\t{props.item.MinValue && props.item.MaxValue && {props.item.MinValue} to {props.item.MaxValue}}\r\n\t\t\t\t{props.item.MinValue && !props.item.MaxValue && At least {props.item.MinValue}}\r\n\t\t\t\t{!props.item.MinValue && props.item.MaxValue && Up to {props.item.MaxValue}}\r\n\t\t\t\r\n\t\t\r\n\t) || null\r\n}\r\n\r\n//Applies label for each quantitative value\r\nexport interface QuantitativeValueListProps {\r\n\tlabel?: string;\r\n\titems: QuantitativeValue[];\r\n}\r\nexport function QuantitativeValueList(props: QuantitativeValueListProps) {\r\n\tvar itemsWithValues = props.items?.filter(item => item.Description) || [];\r\n\treturn (\r\n\t\titemsWithValues.length > 0 && \r\n\t\t\r\n\t\t\t{itemsWithValues.map(item => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t) || null\r\n}\r\n\r\nexport function MonetaryAmountSingle(props: { label?: string, item: MonetaryAmount }) {\r\n\treturn (\r\n\t\tprops.item && (props.item.Value || props.item.MaxValue || props.item.MinValue) &&\r\n\t\t\r\n\t\t\t{props.label && {props.label}}\r\n\t\t\t{props.item.Description && {props.item.Description}}\r\n\t\t\t\r\n\t\t\t\t{(props.item.Value) && {props.item.CurrencySymbol || \"\"}{commatizeNumber(props.item.Value)}}\r\n\t\t\t\t{props.item.MinValue && props.item.MaxValue && {props.item.CurrencySymbol || \"\"}{commatizeNumber(props.item.MinValue)} to {props.item.CurrencySymbol || \"\"}{commatizeNumber(props.item.MaxValue)}}\r\n\t\t\t\t{props.item.MinValue && !props.item.MaxValue && At least {props.item.CurrencySymbol || \"\"}{commatizeNumber(props.item.MinValue)}}\r\n\t\t\t\t{!props.item.MinValue && props.item.MaxValue && Up to {props.item.CurrencySymbol || \"\"}{commatizeNumber(props.item.MaxValue)}}\r\n\t\t\t\r\n\t\t\r\n\t) || null\r\n}\r\n\r\nexport function MonetaryAmountList(props: { label?: string, items: MonetaryAmount[] }) {\r\n\tvar itemsWithValues = props.items?.filter(item => item.Value || item.MaxValue || item.MinValue) || [];\r\n\treturn (\r\n\t\titemsWithValues.length > 0 &&\r\n\t\t\r\n\t\t\t{itemsWithValues.map(item => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t) || null\r\n}\r\n\r\n//Applies label at the section level\r\nexport interface QuantitativeValueListSectionProps {\r\n\tlabel: string;\r\n\titems: QuantitativeValue[];\r\n}\r\nexport function QuantitativeValueListSection(props: QuantitativeValueListSectionProps) {\r\n\treturn (\r\n\t\tprops.items?.length > 0 &&\r\n\t\t
    \r\n\t\t\t{props.label}\r\n\t\t\t\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nexport function commatizeNumber(number: number): string {\r\n\tif (!number && number != 0) {\r\n\t\treturn \"\";\r\n\t}\r\n\r\n\tvar counter = 0;\r\n\tvar result = [] as Array;\r\n\tvar textNumber = number.toString();\r\n\tvar parts = textNumber.split(\".\");\r\n\tvar numbers = parts[0].toString().split(\"\");\r\n\tnumbers.reverse().forEach((char, index) => {\r\n\t\tcounter++;\r\n\t\tresult.push(char);\r\n\t\tif (counter >= 3 && (index + 1 < numbers.length)) {\r\n\t\t\tresult.push(\",\");\r\n\t\t\tcounter = 0;\r\n\t\t}\r\n\t});\r\n\r\n\treturn result.reverse().join(\"\") + (parts[1] ? \".\" + parts[1] : \"\");\r\n}\r\n\r\nconst QuantitativeValueListWrapper = styled.div`\r\n\tborder-top: 1px solid #CCC;\r\n\r\n\t& :first-child {\r\n\t\tborder: none;\r\n\t}\r\n`;\r\n\r\nconst QuantitativeValueWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tborder-top: 1px dashed #CCC;\r\n\tpadding: 2.5px 5px;\r\n\tmax-width: 1000px;\r\n\r\n\t& :first-child {\r\n\t\tborder: none;\r\n\t}\r\n`;\r\n\r\nconst QVProperty = styled.div`\r\n\tpadding: 0 5px;\r\n`;\r\n\r\nconst QVLabel = styled.div`\r\n\tpadding: 0 5px;\r\n\tmin-width: 200px;\r\n\tfont-weight: bold;\r\n`;\r\n\r\nconst QVNumbers = styled.div`\r\n\tmargin-left: auto;\r\n\tdisplay: flex;\r\n`;\r\n\r\nconst QVNumber = styled.div`\r\n\tpadding: 0 5px;\r\n\tmin-width: 75px;\r\n\ttext-align: right;\r\n\tfont-size: 16px;\r\n\tfont-weight: bold;\r\n`;\r\n","import React from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { Section, Heading, Body } from './profileStyles';\r\nimport { SectionLabel } from '../DetailPage/styles';\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport JurisdictionProfileList from './JurisdictionProfile';\r\nimport OutlineList, { Outline } from '../../components/DetailPage/Outline';\r\nimport { TabSetOrSingle } from './TabSelector';\r\nimport DateRange from './DateRange';\r\nimport { EarningsDisplay } from './AggregateDataProfile';\r\nimport { MonetaryAmountList, QuantitativeValueList } from './QuantitativeValue';\r\nimport { DataSetProfile, DataSetTimeFrame, DataProfile, MonetaryAmountDistribution, Metric } from '../../types/external';\r\nimport { appURL } from '../../shared/globals';\r\nimport { LinkItem } from './Shared';\r\n\r\nexport interface DataSetProfileSingleProps {\r\n\titem: DataSetProfile;\r\n}\r\nexport function DataSetProfileSingle(props: DataSetProfileSingleProps) {\r\n\treturn (\r\n\t\tprops.item &&\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t{props.item.Name}\r\n\t\t\t\t\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tprops.item.Description &&\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{props.item.Description}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t}\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tprops.item.HasMetric &&\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\tApplicable Metrics\r\n\t\t\t\t\t\t\t ({\r\n\t\t\t\t\t\t\t\t\t\tLabel: metric.Name || \"Unnamed \",\r\n\t\t\t\t\t\t\t\t\t\tContent: \r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t}\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tprops.item.DataSetTimePeriod?.length > 0 &&\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\tApplicable Time Periods\r\n\t\t\t\t\t\t\t ({\r\n\t\t\t\t\t\t\t\t\t\tLabel: timeFrame.Name || (timeFrame.StartDate && timeFrame.EndDate && (timeFrame.StartDate + \" - \" + timeFrame.EndDate)) || \"Unnamed Time Frame\",\r\n\t\t\t\t\t\t\t\t\t\tContent: \r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t}\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tprops.item.DataSuppressionPolicy &&\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\tData Suppression Policy: {props.item.DataSuppressionPolicy}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t}\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tprops.item.SubjectIdentification &&\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\tSubject Identification: {props.item.SubjectIdentification}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t}\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tprops.item.Source &&\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\tSource Information\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t}\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tprops.item.DistributionFile?.length > 0 &&\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{props.item.DistributionFile.map((url) => (\r\n\t\t\t\t\t\t\t\t{url}\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t}\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tprops.item.InstructionalProgramType?.length > 0 &&\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\tInstructional Program Type:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t}\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tprops.item.Jurisdiction?.length > 0 &&\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\tJurisdiction Information\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tprops.item.About?.length > 0 &&\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\tApplicable Resources\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t}\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tprops.item.DataProvider &&\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\tData Provider:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t)\r\n}\r\n\r\nexport interface DataSetTimeFrameSingleProps {\r\n\titem: DataSetTimeFrame;\r\n}\r\nexport function DataSetTimeFrameSingle(props: DataSetTimeFrameSingleProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t{\r\n\t\t\t\tprops.item.Description &&\r\n\t\t\t\t
    \r\n\t\t\t\t\t{props.item.Description}\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\t(props.item.StartDate || props.item.EndDate) &&\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\t(props.item.TimeIntervalDisplay) &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tTime Interval: {props.item.TimeIntervalDisplay}\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tprops.item.DataSourceCoverageType?.length > 0 &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tData Source Coverage Type:\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tprops.item.DataAttributes?.length > 0 &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tDetails\r\n\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tLabel: (dataProfile.Description || \"Data Profile \" + index).substr(0, 50) + ((dataProfile.Description || \"\").length > 50 ? \"...\" : \"\"),\r\n\t\t\t\t\t\t\t\t\tContent: \r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t
    \r\n\t)\r\n}\r\n\r\nexport function DataSetTimeFrameSingleMinimal(props: DataSetTimeFrameSingleProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t{\r\n\t\t\t\tprops.item.Name &&\r\n\t\t\t\t
    \r\n\t\t\t\t\t{props.item.Name}\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tprops.item.Description &&\r\n\t\t\t\t
    \r\n\t\t\t\t\t{props.item.Description}\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\t(props.item.StartDate || props.item.EndDate) &&\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\t(props.item.TimeIntervalDisplay) &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tTime Interval: {props.item.TimeIntervalDisplay}\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tprops.item.DataSourceCoverageType?.length > 0 &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tData Source Coverage Type:\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t\r\n\t\t
    \r\n\t)\r\n}\r\n\r\nexport interface DataProfileSingleProps {\r\n\titem: DataProfile;\r\n}\r\nexport function DataProfileSingle(props: DataProfileSingleProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t{\r\n\t\t\t\tprops.item.Description &&\r\n\t\t\t\t
    \r\n\t\t\t\t\t{props.item.Description}\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tprops.item.Adjustment &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tAdjustment: {props.item.Adjustment}\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tprops.item.EarningsDefinition &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tEarnings Definition: {props.item.EarningsDefinition}\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tprops.item.EarningsThreshold &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tEarnings Threshold: {props.item.EarningsThreshold}\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tprops.item.EmploymentDefinition &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tEmployment Definition: {props.item.EmploymentDefinition}\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tprops.item.FacultyToStudentRatio &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tFaculty To Student Ratio: {props.item.FacultyToStudentRatio}\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tprops.item.WorkTimeThreshold &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tWork Time Threshold: {props.item.WorkTimeThreshold}\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tprops.item.AdministrativeRecordType?.length > 0 &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tAdministrative Record Type:\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tprops.item.IncomeDeterminationType?.length > 0 &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tIncome Determination Type:\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tprops.item.EarningsDistribution?.length > 0 &&\r\n\t\t\t\t
    \r\n\t\t\t\t\tEarnings Distribution\r\n\t\t\t\t\t{props.item.EarningsDistribution.map((item) =>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t)\r\n}\r\n\r\nexport interface MonetaryAmountDistributionSingleProps {\r\n\titem: MonetaryAmountDistribution;\r\n}\r\nexport function MonetaryAmountDistributionSingle(props: MonetaryAmountDistributionSingleProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\nexport function DataSetMetricMinimal(props: Metric) {\r\n\treturn (\r\n\t\t\r\n\t\t\t{\r\n\t\t\t\tprops.Name &&\r\n\t\t\t\t
    \r\n\t\t\t\t\t{props.Name}\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tprops.Description &&\r\n\t\t\t\t
    \r\n\t\t\t\t\t{props.Description}\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tprops.MetricType.length>0 &&(\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tMetric Type: \r\n\t\t\t\t\t\t{props.MetricType.map((url) => (\r\n\t\t\t\t\t\t\t\t{url.Label}\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t
    \r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tprops.OwnedByLabel &&\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t
    \r\n\t)\r\n}\r\nconst DataSetProfileListWrapper = styled.div`\r\n\r\n`;\r\n\r\nconst DataSetProfileWrapper = styled.div`\r\n\r\n`;\r\n\r\nconst DataSetTimeFrameWrapper = styled.div`\r\n\r\n`;\r\n\r\nconst DataProfileWrapper = styled.div`\r\n\r\n`;\r\n\r\nconst MonetaryAmountDistributionWrapper = styled.div`\r\n\r\n`;","import React from 'react';\r\nimport { AggregateDataProfile } from '../../types/external';\r\nimport { Section, Heading, Body } from './profileStyles';\r\nimport { SectionLabel, InlineLabelledItem } from '../DetailPage/styles';\r\nimport DateRange from './DateRange';\r\nimport styled from 'styled-components/macro';\r\nimport JurisdictionProfileList from './JurisdictionProfile';\r\nimport { QuantitativeValueList } from './QuantitativeValue';\r\nimport { TabSetOrSingle } from './TabSelector';\r\nimport { DataSetProfileSingle } from './DataSetProfile';\r\nimport { formatPrice } from '../../utils';\r\n\r\nexport interface AggregateDataProfileSectionProps { item: AggregateDataProfile; }\r\nexport function AggregateDataProfileSection(props: AggregateDataProfileSectionProps) {\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t{props.item.Name || \"Outcomes Data\"}\r\n\t\t\t\r\n\t\t\t\t{\r\n\t\t\t\t\tprops.item.Description &&\r\n\t\t\t\t\t
    {props.item.Description}
    \r\n\t\t\t\t}\r\n\t\t\t\t{\r\n\t\t\t\t\tprops.item.DemographicInformation &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tDemographic Information: {props.item.DemographicInformation}\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{\r\n\t\t\t\t\tprops.item.FacultyToStudentRatio &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tFaculty To Student Ratio: {props.item.FacultyToStudentRatio}\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{\r\n\t\t\t\t\t(props.item.DateEffective || props.item.ExpirationDate) &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{\r\n\t\t\t\t\t( props.item.PostReceiptMonths ) &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tPost Receipt Months: {props.item.PostReceiptMonths}\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{\r\n\t\t\t\t\t(props.item.LowEarnings || props.item.MedianEarnings || props.item.HighEarnings) &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tEarnings\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{\r\n\t\t\t\t\tprops.item.JobsObtainedList?.length > 0 &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tJobs Obtained\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{\r\n\t\t\t\t\tprops.item.Jurisdiction?.length > 0 &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tJurisdiction Information\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{\r\n\t\t\t\t\tprops.item.RelevantDataSet?.length > 0 &&\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\tDetails\r\n\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tLabel: dataSetProfile.Name,\r\n\t\t\t\t\t\t\t\t\t\tContent: \r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t
    \r\n\t) || \"error\"\r\n}\r\n\r\nexport interface AggregateDataProfileListProps { items: Array; }\r\nexport default function AggregateDataProfileList(props: AggregateDataProfileListProps) {\r\n\tconsole.log(\"Source Data\", props.items)\r\n\treturn (\r\n\t\t(props?.items?.length > 0) &&\r\n\t\t(\r\n\t\t\t\r\n\t\t\t\t{\r\n\t\t\t\t\tprops.items.map((data) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t)\r\n\t) || null;\r\n}\r\n\r\nexport interface EarningsDisplayProps {\r\n\tCurrencySymbol: string;\r\n\tValues: EarningsDisplayItemData[];\r\n\tMaxBarHeight: number;\r\n}\r\nexport interface EarningsDisplayItemData {\r\n\tLabel: string;\r\n\tValue?: number;\r\n}\r\nexport function EarningsDisplay(props: EarningsDisplayProps) {\r\n\tvar values = (props.Values || []).filter(m => m.Value != null && m.Value != undefined);\r\n\tconst max = Math.max.apply(null, values.map(m => m.Value || 1));\r\n\r\n\treturn ( values.length > 1 &&\r\n\t\t\r\n\t\t\t{\r\n\t\t\t\tvalues.map((data) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{data.Label}\r\n\t\t\t\t\t\t{formatPrice(data.Value || 0, props.CurrencySymbol)}\r\n\t\t\t\t\t\r\n\t\t\t\t))\r\n\t\t\t}\r\n\t\t\r\n\t) || (\r\n\t\t
    {values[0].Label}: {formatPrice(values[0].Value || 0, props.CurrencySymbol)}
    \r\n\t)\r\n}\r\n\r\nconst AggregateDataProfiles = styled.div`\r\n\t\r\n`;\r\n\r\nconst EarningsDisplayWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: baseline;\r\n\tjustify-content: space-between;\r\n`;\r\n\r\nconst EarningsDisplayItem = styled.div`\r\n\tflex: 1 1 50%;\r\n\tmargin: 0 10px;\r\n\ttext-align: center;\r\n`;\r\n\r\nconst EarningsItemBar = styled.div`\r\n\tbackground-color: ${(p) => p.theme.color.aquaDark};\r\n\tmin-height: 5px;\r\n`;\r\n\r\nconst EarningsItemLabel = styled.div`\r\n\r\n`;\r\n\r\nconst EarningsItemValue = styled.div`\r\n\r\n`;","import React from 'react';\r\nimport { AggregateDataProfile, DataSetProfile } from '../../types/external';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport AggregateDataProfileList from '../../components/DetailPage/AggregateDataProfile';\r\nimport { DataSetProfileSingle } from '../../components/DetailPage/DataSetProfile';\r\nimport { Section, Label } from '../../components/DetailPage/styles';\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\n\r\n\r\nexport function OutcomesDataPageSectionItem(props: {\r\n\taggregateDataProfiles: Array,\r\n\tdataSetProfiles: Array,\r\n\tresourceTitle: string\r\n}) {\r\n\tif ((props.aggregateDataProfiles?.length || 0) == 0 && (props.dataSetProfiles?.length || 0) == 0) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\t//Filter out External Data Set Profiles that are already referenced by an Aggregate Data Profile\r\n\tvar dataSetProfileCTIDsReferencedByAggregateDataProfiles = (props.aggregateDataProfiles || [] as Array).filter(adp => { return adp.RelevantDataSet?.length > 0 }).flatMap(adp => adp.RelevantDataSet).map(otherDSP => otherDSP.CTID);\r\n\tvar externalDataSetProfilesSansAggregateDataProfileReferences = props.dataSetProfiles?.filter(dsp => { return !dataSetProfileCTIDsReferencedByAggregateDataProfiles.includes(dsp.CTID) }) || [];\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t }\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tLabel: dataSetProfile.Name || (\"Data Set \" + (index + 1) + (dataSetProfile.Meta_LastUpdatedHeader ? \": \" + dataSetProfile.Meta_LastUpdatedHeader : \"\")),\r\n\t\t\t\t\t\t\t\t\tContent: \r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport {\r\n MobileAboutDetail,\r\n Description,\r\n Label,\r\n Wrapper,\r\n Inline,\r\n InlineLabel,\r\n Section,\r\n} from '../../components/DetailPage/styles';\r\nimport { apiUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport assessmentIcon from '../../assets/images/icons/icon-assessments-white-green-01.svg';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\n\r\nimport scoringIcon from '../../assets/images/icons/icon-scoring-method-blue-green-01.svg';\r\nimport exampleIcon from '../../assets/images/icons/icon-example-blue-green-01.svg';\r\nimport processIcon from '../../assets/images/icons/icon-process-blue-green-01.svg';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useMediaQuery, useGet } from '../../hooks';\r\nimport { ModalType } from '../../types/internal';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport { Assessment, ProcessProfile } from '../../types/external';\r\nimport { isFilled } from '../../validation';\r\nimport AboutDetail from './AboutDetail';\r\nimport OccupationsAndIndustriesSection from '../../components/DetailPage/OccupationsAndIndustriesSection';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport SubjectsAndKeywordsPageSection from '../../components/DetailPage/SubjectsAndKeywordsPageSection';\r\nimport QualityAssurancePageSection from '../../components/DetailPage/QualityAssurancePageSection';\r\nimport LocationPageSection from '../../components/DetailPage/LocationPageSection';\r\nimport PageBanner from '../../components/DetailPage/PageBanner';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport CostsAndTimePageSection from '../../components/DetailPage/CostsAndTimePageSection';\r\nimport ExpandableText from '../../components/ExpandableText';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport ConnectionsSection from '../../components/DetailPage/ConnectionsSection';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport ProcessProfileList from '../../components/DetailPage/ProcessProfile';\r\nimport { OutcomesDataPageSectionItem } from '../../components/DetailPage/OutcomesDataPageSection';\r\nimport { renderJSONLDMetaTags } from '../../utils/JSONLDMetaHelper';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function AssessmentPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n assessmentDataIsLoading,\r\n assessmentDataHasError,\r\n getAssessmentData,\r\n ] = useGet();\r\n const [pageModel, setAssessment] = useState({} as Assessment);\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n const [openedModal, setOpenedModal] = useState();\r\n\r\n function onOpenModalClick(modalType: ModalType) {\r\n return () => setOpenedModal(modalType);\r\n }\r\n\r\n function onCloseModalClick() {\r\n setOpenedModal(undefined);\r\n }\r\n\r\n useEffect(() => {\r\n getAssessmentData(`${apiUrl}/assessment/${id}`, (data: Assessment) => {\r\n\t\t\tsetAssessment(data);\r\n\t\t\trenderJSONLDMetaTags(data, \"Assessment\");\r\n });\r\n }, [getAssessmentData, id]);\r\n\r\n\tvar typeLabel = widgetGetSingleLabelForText(pageModel.CTDLTypeLabel, \"Assessment\");\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pageModel.Description && (\r\n \r\n {pageModel.Description}\r\n \r\n )}\r\n \r\n\t\t\t\t\t\t\t\t\t{pageModel.AvailableOnlineAt?.length > 0 &&\r\n\t\t\t\t\t\t\t\t\t\tpageModel.AvailableOnlineAt.map((url) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}\r\n {pageModel.SubjectWebpage &&\r\n\t\t\t\t\t\t\t\t\t\t\r\n }\r\n {pageModel.InCatalog &&\r\n \r\n }\r\n\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n \r\n \r\n {isMobile && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n \r\n \r\n {/* TODO: connections can be other than connection profiles, need to change to a connections wrapper (like CostsAndTimePageSection), and then separate sections */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t \r\n \r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\r\n \r\n \r\n {pageModel.ScoringMethodDescription && (\r\n \r\n )}\r\n {pageModel.ScoringMethodType && (\r\n
    \r\n \r\n
    \r\n )}\r\n {pageModel.ScoringMethodExample && (\r\n \r\n )}\r\n {pageModel.IsNonCredit !== undefined && pageModel.IsNonCredit == true && (\r\n \r\n Is Non-Credit :\r\n
    \r\n {pageModel.IsNonCredit\r\n ? 'true'\r\n : 'false'}\r\n
    \r\n
    \r\n )}\r\n {pageModel.IsProctored !== undefined && (\r\n \r\n Proctored :\r\n
    \r\n {pageModel.IsProctored\r\n ? 'true'\r\n : 'false'}\r\n
    \r\n
    \r\n )}\r\n {pageModel.HasGroupEvaluation !==\r\n undefined && (\r\n \r\n \r\n Group Evaluation :\r\n \r\n
    \r\n {pageModel.HasGroupEvaluation\r\n ? 'true'\r\n : 'false'}\r\n
    \r\n
    \r\n )}\r\n {pageModel.HasGroupParticipation !==\r\n undefined && (\r\n \r\n \r\n Group Participation :\r\n \r\n
    \r\n {pageModel.HasGroupParticipation\r\n ? 'true'\r\n : 'false'}\r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n\t\t\t\t\t\t\r\n {pageModel.AssessmentOutput && (\r\n
    \r\n {/* */}\r\n \r\n
    \r\n )}\r\n {pageModel.AssessmentExample && (\r\n \r\n \r\n \r\n )} \r\n
    \r\n \r\n \r\n\t\t\t\t\t\t\r\n \r\n {pageModel.ExternalResearch && (\r\n
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n
    \r\n )}\r\n {pageModel.ProcessStandards && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Administration Process\"\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={pageModel.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={pageModel.AdministrationProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Development Process\"\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={pageModel.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={pageModel.DevelopmentProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n \r\n \r\n \r\n
    \r\n\t\t\t\t\t\r\n
    \r\n
    \r\n \r\n );\r\n function TextItem(props: { label: string, item: string }) {\r\n return (props.item &&\r\n \r\n {props.label}\r\n
    {props.item}
    \r\n
    \r\n ) || null\r\n }\r\n}\r\n","import React, { ReactNode, useEffect, useState, useRef } from 'react';\r\nimport { renderToString } from 'react-dom/server';\r\nimport styled from 'styled-components/macro';\r\nimport { apiUrl, appBaseName, appURL, registryURL } from '../../shared/globals';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { Collection as CollectionType, Outline, Link, AJAXSettingsOutline, Competency, ConditionProfile, ValueProfile, CostManifest, CostProfile, AJAXSettings, JurisdictionProfile, CostItem, Place, IdentifierValue } from '../../types/external';\r\nimport PageBanner from '../../components/DetailPage/PageBanner';\r\nimport {\r\n\tWrapper,\r\n\tFullWidthWrapper,\r\n\tInnerWrapper,\r\n\tDescription,\r\n\tSection,\r\n\tLabel\r\n} from '../../components/DetailPage/styles';\r\nimport { VStack } from '../../components/Stack';\r\nimport PageSection from '../../components/PageSection';\r\nimport { getResourceByURI, englishOrNull, createKeywordSearchLink, getResourceByURLWithoutState, createKeywordSearchLinkListFromCredentialAlignmentObjectList } from '../../components/GetResourceByURI';\r\nimport competenciesbannerIcon from '../../assets/images/UpdatedIcons/CE-Icon_6-Collection_Blue-Green_High-Res.png';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport SubjectsAndKeywordsPageSection from '../../components/DetailPage/SubjectsAndKeywordsPageSection';\r\nimport OccupationsAndIndustriesSection from '../../components/DetailPage/OccupationsAndIndustriesSection';\r\nimport RelatedOrganizationPageSection, { RelatedOrganizationPageSectionAJAXResourceList } from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport { convertDataToCompetency, renderCompetency } from '../CompetencyFrameworkPage/indexv2';\r\nimport { createMiniSearch, getUUID, getElementEventually } from '../../components/MiniSearch';\r\nimport { ModalButtonAndWindow, ModalButtonAndWindowWithRegistrySearch, OutlineResult } from '../../components/Modal';\r\nimport AJAXModal from '../../components/Modal/AJAXModal';\r\nimport { renderCompetencyFromRDF, CompetencyStyleBlock } from '../../components/DetailPage/Competency';\r\nimport AJAXResourceList, { appendAJAXCacheV3ResourceRaw, createElement, getEnglish, renderText, renderLink, renderImage, renderElement, getResourceViaResourceCacheV3, lookupSchema, getDetailPageHeaderModifiedDate } from '../../components/AJAXResourceList';\r\nimport ConditionProfileList from '../../components/DetailPage/ConditionProfile';\r\nimport { renderJSONLDMetaTags } from '../../utils/JSONLDMetaHelper';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport { LinkItem } from \"../../components/DetailPage/Shared\";\r\n\r\ninterface Props {\r\n\tid: string;\r\n\ttargetCTID?: string;\r\n}\r\n\r\nexport default function CollectionPage(props: RouteComponentProps) {\r\n\tconst id = props.match.params.id;\r\n\tconst [dataIsLoading, setDataIsLoading] = useState(true);\r\n\tconst [hasError, setHasError] = useState(false);\r\n\tconst [collection, setCollection] = useState({} as CollectionType);\r\n\tconst [rawCollectionData, setRawCollectionData] = useState({} as any);\r\n\tconst [relatedItemsMap, setRelatedItemsMap] = useState({} as any);\r\n\tconst [graph, setGraph] = useState([] as Array);\r\n\tconst [localAJAXCache, setLocalAJAXCache] = useState([] as Array); //Used to trick react into re-rendering the data\r\n\tconst [membershipConditionList, setMembershipConditionList] = useState([] as Array);\r\n\r\n\tvar rawCollectionDataNow = {} as any;\r\n\tuseEffect(() => {\r\n\t\t//var usingCTID = isNaN(id as any);\r\n\t\t//var url = usingCTID ? `${registryURL}/graph/${id}` : `${apiUrl}/detail/collection/${id}`;\r\n\t\t//getResourceByURI(url, setLocalAJAXCache, null, (loaded: any) => {\r\n\t\tgetResourceByURI(`${apiUrl}/dsp_collection/${id}?includeRelatedResources=false&includeGraphData=true&perBranchLimit=-1`, setLocalAJAXCache, null, (loaded: any) => {\r\n\t\t\t//Get data\r\n\t\t\trawCollectionDataNow = loaded.Result.Resource;\r\n\t\t\trenderJSONLDMetaTags(rawCollectionDataNow, \"Collection\");\r\n\t\t\tsetRawCollectionData(loaded.Result.Resource); //Takes extra rendering cycles for some stupid reason so double assign it\r\n\t\t\tvar metadata = loaded.Result.Metadata || {};\r\n\t\t\tvar relatedItemsMapData = loaded.Result.RelatedItemsMap || {};\r\n\t\t\tvar graphItemsData = loaded.Result.RelatedItems || [] as Array;\r\n\t\t\tsetDataIsLoading(false);\r\n\t\t\tsetCollection(convertDataToCollection(rawCollectionDataNow || { \"ceterms:name\": \"Missing Collection\", \"ceterms:description\": \"Unable to find data for identifier: \" + id } as any, metadata));\r\n\r\n\t\t\t//Convert data\r\n\t\t\tconvertDataToConditionProfileList(rawCollectionDataNow?.[\"ceterms:membershipCondition\"], membershipConditionList, setMembershipConditionList);\r\n\t\t\tsetGraph(graphItemsData);\r\n\t\t\tsetRelatedItemsMap(relatedItemsMapData);\r\n\t\t\tconsole.log(\"Detail Data\", { Collection: collection, Graph: graph });\r\n\r\n\t\t\t//Temporary(?) - Get link(s) to a search for members of the collection\r\n\t\t\tgetResourceByURI(`${apiUrl}/collection/${id}`, setLocalAJAXCache, null, (loaded: any) => {\r\n\t\t\t\tcollection.Connections = loaded?.Result?.Connections;\r\n\t\t\t\tsetCollection({ ...collection });\r\n\t\t\t});\r\n\r\n\t\t\t//Get owner for header\r\n\t\t\tif (!collection.OwnedByLabel && rawCollectionDataNow[\"ceterms:ownedBy\"]) {\r\n\t\t\t\tgetResourceViaResourceCacheV3(rawCollectionDataNow[\"ceterms:ownedBy\"]?.[0], (data: any) => {\r\n\t\t\t\t\tcollection.OwnedByLabel = {\r\n\t\t\t\t\t\tLabel: englishOrNull(data?.[\"ceterms:name\"]),\r\n\t\t\t\t\t\tURL: appURL + \"/resources/\" + data[\"ceterms:ctid\"]\r\n\t\t\t\t\t} as Link;\r\n\t\t\t\t\t//setCollection({ ...collection }); //Will randomly reset the collection data depending on which async process happens fastest, so just recalculate the whole thing\r\n\t\t\t\t\tvar updatedCollection = convertDataToCollection(rawCollectionDataNow || { \"ceterms:name\": \"Missing Collection\", \"ceterms:description\": \"Unable to find data for identifier: \" + id } as any, metadata);\r\n\t\t\t\t\tsetCollection({ ...updatedCollection, OwnedByLabel: collection.OwnedByLabel });\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\t\t(error: any) => {\r\n\t\t\t\tsetHasError(true);\r\n\t\t\t\tconsole.log(\"Error loading data: \", error);\r\n\t\t\t});\r\n\r\n\t\tnew URLSearchParams(window.location.search).forEach(function (value: string, key: string) {\r\n\t\t\tif (key.toLowerCase() == \"memberctid\") {\r\n\t\t\t\tjumpToMemberCTID(value.toLowerCase(), 0);\r\n\t\t\t}\r\n\t\t});\r\n\t}, [id, localAJAXCache]);\r\n\r\n\tfunction convertDataToCollection(resource: any, metadata: any): CollectionType {\r\n\t\treturn {\r\n\t\t\tBroadType: \"Collection\",\r\n\t\t\tCTDLType: \"ceterms:Collection\",\r\n\t\t\tCTDLTypeLabel: \"Collection\",\r\n\t\t\tMeta_Id: id,\r\n\t\t\tMeta_Language: resource[\"ceasn:inLanguage\"]?.[0] || \"en\",\r\n\t\t\tMeta_LastUpdated: metadata?.DateModified || \"Unknown\",\r\n\t\t\tMeta_LastUpdatedHeader: getDetailPageHeaderModifiedDate(metadata?.DateModified),\r\n\t\t\tCTID: resource[\"ceterms:ctid\"],\r\n\t\t\tName: englishOrNull(resource[\"ceterms:name\"]),\r\n\t\t\tDescription: englishOrNull(resource[\"ceterms:description\"]),\r\n\t\t\tSubjectWebpage: resource[\"ceterms:subjectWebpage\"],\r\n\t\t\tInCatalog: resource[\"ceterms:inCatalog\"],\r\n\t\t\tLatestVersion: resource[\"ceterms:latestVersion\"],\r\n\t\t\tPreviousVersion: resource[\"ceterms:previousVersion\"],\r\n\t\t\tNextVersion: resource[\"ceterms:nextVersion\"],\r\n\t\t\tVersionIdentifier: createIdentifier(resource[\"ceterms:versionIdentifier\"]),\r\n\t\t\tSubject: resource[\"ceterms:subject\"]?.map((m: any) => { return createKeywordSearchLink(\"collection\", getEnglish(m[\"ceterms:targetNodeName\"])) }),\r\n\t\t\t//Keyword: englishOrNull(resource[\"ceterms:keyword\"])?.map((m: string) => { return createKeywordSearchLink(\"collection\", m) }), //Need to ensure keywords are being published as a multi-value field before uncommenting this\r\n\t\t\t//CollectionType: resource[\"ceterms:collectionType\"]?.map((m: any) => { return createKeywordSearchLink(\"collection\", englishOrNull(m[\"ceterms:targetNodeName\"])) }),\r\n\t\t\tCollectionType: createKeywordSearchLinkListFromCredentialAlignmentObjectList(\"collection\", resource[\"ceterms:collectionType\"]),\r\n\t\t\tHasMember: resource[\"ceterms:hasMember\"] || [],\r\n\t\t\t//OwnedBy: resource[\"ceterms:ownedBy\"] && { Values: resource[\"ceterms:ownedBy\"]?.map((m: string) => { return getOrganizationOutlineByURI(m) }) } as AJAXSettingsOutline,\r\n\t\t\tRegistryData: { CTID: resource[\"ceterms:ctid\"], Resource: { URL: resource[\"@id\"], Label: \"View Resource\" }, Envelope: { URL: resource[\"@id\"]?.replace(\"/resources/\", \"/envelopes/\"), Label: \"View Envelope\" } },\r\n\t\t\t//OwnedByLabel: resource[\"ceterms:ownedBy\"]?.map((m: string) => { return getOrganizationOutlineByURI(m) })?.map((m: any) => { return { Label: m.Label, URL: m.URL } as Link; })[0],\r\n\t\t\t//MembershipCondition: resource[\"ceterms:membershipCondition\"]?.map((m: any) => { return convertDataToConditionProfile(m); }),\r\n\t\t\tMeta_JSON: resource\r\n\t\t} as CollectionType;\r\n\t}\r\n\r\n\tfunction jumpToMemberCTID(targetCTID: string, attempts: number) {\r\n\t\tconsole.log(\"jumping to CTID\", targetCTID)\r\n\t\tsetTimeout(function () {\r\n\t\t\tvar element = document.querySelector(\"[data-ctid='\" + targetCTID + \"']\");\r\n\t\t\tif (element) {\r\n\t\t\t\telement.scrollIntoView();\r\n\t\t\t}\r\n\t\t\telse if (attempts <= 10) {\r\n\t\t\t\tjumpToMemberCTID(targetCTID, attempts + 1);\r\n\t\t\t}\r\n\t\t}, 500);\r\n\t}\r\n\r\n\tfunction convertDataToConditionProfileList(sourceList: any, stateList: Array, setStateMethod: any) {\r\n\t\tif (sourceList && sourceList.length > 0) {\r\n\t\t\tsetStateMethod(sourceList.map((m: any) => { return {} as ConditionProfile }));\r\n\t\t\tsourceList.forEach((sourceItem: any, index: number) => {\r\n\t\t\t\tconvertDataToConditionProfile(sourceItem, index, stateList, setStateMethod);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tfunction convertDataToConditionProfile(source: any, index: number, stateList: Array, setStateMethod: any) {\r\n\t\t//Convert basic data\r\n\t\tvar converted = convertBasicDataToBasicConditionProfile(source);\r\n\r\n\t\t//Load additional reference data\r\n\t\t//It looks like CommonCosts is never used in the condition profile(?)\r\n\t\tloadResourceSetAsAJAXSettingsOutline(source[\"ceterms:assertedBy\"], converted, \"AssertedBy\", refreshProfile);\r\n\t\tloadResourceSetAsAJAXSettingsOutline(source[\"ceterms:targetCredential\"], converted, \"TargetCredential\", refreshProfile);\r\n\t\tloadResourceSetAsAJAXSettingsOutline(source[\"ceterms:targetAssessment\"], converted, \"TargetAssessment\", refreshProfile);\r\n\t\tloadResourceSetAsAJAXSettingsOutline(source[\"ceterms:targetLearningOpportunity\"], converted, \"TargetLearningOpportunity\", refreshProfile);\r\n\t\tloadResourceSetAsAJAXSettingsOutline(source[\"ceterms:targetCompetency\"], converted, \"TargetCompetency\", refreshProfile);\r\n\r\n\t\t//Refresh the profile at least once regardless\r\n\t\trefreshProfile();\r\n\r\n\t\tfunction refreshProfile() {\r\n\t\t\tstateList[index] = converted;\r\n\t\t\tsetStateMethod([...stateList]);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction loadResourceSetAsAJAXSettingsOutline(sourceURIs: Array, converted: ConditionProfile, propertyName: string, refreshProfile: any) {\r\n\t\tif (!sourceURIs || sourceURIs.length == 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t(converted as any)[propertyName] = {\r\n\t\t\tTotal: sourceURIs.length,\r\n\t\t\tValues: sourceURIs.map(uri => {\r\n\t\t\t\treturn { Label: \"Loading...\" } as Outline;\r\n\t\t\t})\r\n\t\t} as AJAXSettingsOutline\r\n\r\n\t\tsourceURIs.forEach((uri, index) => {\r\n\t\t\tgetResourceViaResourceCacheV3(uri, data => {\r\n\t\t\t\t(converted as any)[propertyName].Values[index] = {\r\n\t\t\t\t\tLabel: englishOrNull(data[\"ceterms:name\"]),\r\n\t\t\t\t\tDescription: englishOrNull(data[\"ceterms:description\"]),\r\n\t\t\t\t\tURL: appURL + \"/resources/\" + data[\"ceterms:ctid\"],\r\n\t\t\t\t\tImage: data[\"ceterms:image\"]\r\n\t\t\t\t} as Outline;\r\n\t\t\t\trefreshProfile();\r\n\t\t\t}, error => {\r\n\t\t\t\t(converted as any)[propertyName].Values[index].Label = \"Error loading data for URI: \" + uri;\r\n\t\t\t\trefreshProfile();\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tfunction convertBasicDataToBasicConditionProfile(source: any) {\r\n\t\treturn {\r\n\t\t\t//Alternative Condition isn't fully supported here, because React will only allow the useState function to be called from inside a Component function and there's no /good/ way to handle the recursive nature of Alternative Condition here\r\n\t\t\tAlternativeCondition: source[\"ceterms:alternativeCondition\"]?.map((item: any) => { return convertBasicDataToBasicConditionProfile(item); }),\r\n\t\t\tName: englishOrNull(source[\"ceterms:name\"]) || \"\",\r\n\t\t\tDescription: englishOrNull(source[\"ceterms:description\"]) || \"\",\r\n\t\t\tCondition: englishOrNull(source[\"ceterms:condition\"]),\r\n\t\t\tSubmissionOf: englishOrNull(source[\"ceterms:submissionOf\"]),\r\n\t\t\tSubmissionOfDescription: englishOrNull(source[\"ceterms:submissionOfDescription\"]),\r\n\t\t\tCreditUnitTypeDescription: englishOrNull(source[\"ceterms:creditUnitTypeDescription\"]),\r\n\t\t\tSubjectWebpage: source[\"ceterms:subjectWebpage\"],\r\n\t\t\tDateEffective: source[\"ceterms:dateEffective\"],\r\n\t\t\tExperience: englishOrNull(source[\"ceterms:expereince\"]),\r\n\t\t\tWeight: source[\"ceterms:weight\"],\r\n\t\t\tYearsOfExperience: source[\"ceterms:yearsOfExperience\"],\r\n\t\t\tMinimumAge: source[\"ceterms:minimumAge\"],\r\n\t\t\tAudienceLevelType: createKeywordSearchLinkListFromCredentialAlignmentObjectList(\"collection\", source[\"ceterms:audienceLevelType\"]),\r\n\t\t\tAudienceType: createKeywordSearchLinkListFromCredentialAlignmentObjectList(\"collection\", source[\"ceterms:audienceType\"]),\r\n\t\t\tCreditValue: createValueProfileListFromSourceList(source[\"ceterms:creditValue\"]),\r\n\t\t\tEstimatedCost: createCostProfileListFromSourceList(source[\"ceterms:estimatedCost\"]),\r\n\t\t\tJurisdiction: createJurisdictionProfileListFromSourceList(source[\"ceterms:jurisdiction\"]),\r\n\t\t\tResidentOf: createJurisdictionProfileListFromSourceList(source[\"ceterms:residentOf\"]),\r\n\t\t} as ConditionProfile;\r\n\t}\r\n\r\n\tfunction createValueProfileListFromSourceList(creditValueList: Array) : Array | null {\r\n\t\treturn creditValueList?.map(source => {\r\n\t\t\treturn {\r\n\t\t\t\tCreditLevelType: createKeywordSearchLinkListFromCredentialAlignmentObjectList(\"collection\", source[\"ceterms:creditLevelType\"]),\r\n\t\t\t\tCreditUnitType: createKeywordSearchLinkListFromCredentialAlignmentObjectList(\"collection\", source[\"ceterms:creditUnitType\"]),\r\n\t\t\t\tSubject: createKeywordSearchLinkListFromCredentialAlignmentObjectList(\"collection\", source[\"ceterms:subject\"]),\r\n\t\t\t\tDescription: englishOrNull(source[\"schema:description\"]),\r\n\t\t\t\tMaxValue: source[\"schema:maxValue\"] || 0,\r\n\t\t\t\tMinValue: source[\"schema:minValue\"] || 0,\r\n\t\t\t\tPercentage: source[\"qdata:percentage\"] || 0,\r\n\t\t\t\tValue: source[\"schema:value\"] || 0\r\n\t\t\t} as ValueProfile;\r\n\t\t});\r\n\t}\r\n\r\n\tfunction createCostProfileListFromSourceList(costProfileList: Array): Array | null {\r\n\t\treturn costProfileList?.map(source => {\r\n\t\t\treturn {\r\n\t\t\t\tDescription: englishOrNull(source[\"ceterms:description\"]) || \"\",\r\n\t\t\t\tName: englishOrNull(source[\"ceterms:name\"]) || \"\",\r\n\t\t\t\tCondition: englishOrNull(source[\"ceterms:condition\"]),\r\n\t\t\t\tCostDetails: source[\"ceterms:costDetails\"],\r\n\t\t\t\tCurrency: source[\"ceterms:currency\"],\r\n\t\t\t\tCurrencySymbol: source[\"ceterms:currency\"]?.toLowerCase() == \"usd\" ? \"$\" : source[\"ceterms:currency\"],\r\n\t\t\t\tStartDate: source[\"ceterms:startDate\"],\r\n\t\t\t\tEndDate: source[\"ceterms:endDate\"],\r\n\t\t\t\tCostItems: createCostItemListFromSourceItem(source),\r\n\t\t\t\tJurisdiction: createJurisdictionProfileListFromSourceList(source[\"ceterms:jurisdiction\"])\r\n\t\t\t} as CostProfile;\r\n\t\t});\r\n\t}\r\n\r\n\tfunction createCostItemListFromSourceItem(source: any): Array | null {\r\n\t\treturn source?.[\"ceterms:directCostType\"]?.map((costType: any) => {\r\n\t\t\treturn {\r\n\t\t\t\tAudienceType: createKeywordSearchLinkListFromCredentialAlignmentObjectList(\"collection\", source[\"ceterms:audienceType\"]),\r\n\t\t\t\tResidencyType: createKeywordSearchLinkListFromCredentialAlignmentObjectList(\"collection\", source[\"ceterms:residencyType\"]),\r\n\t\t\t\tDirectCostType: createKeywordSearchLinkListFromCredentialAlignmentObjectList(\"collection\", [costType])[0],\r\n\t\t\t\tPaymentPattern: englishOrNull(source[\"ceterms:paymentPattern\"]),\r\n\t\t\t\tPrice: source[\"ceterms:price\"] || 0\r\n\t\t\t} as CostItem\r\n\t\t});\r\n\t}\r\n\r\n\tfunction createJurisdictionProfileListFromSourceList(jurisdictionProfileList: Array): Array | null {\r\n\t\treturn jurisdictionProfileList?.map(source => {\r\n\t\t\treturn {\r\n\t\t\t\t//AssertedBy is not worth bothering with\r\n\t\t\t\tDescription: englishOrNull(source[\"ceterms:description\"]) || \"\",\r\n\t\t\t\tGlobalJurisdiction: source[\"ceterms:isGlobalJurisdiction\"] == true ? true : false,\r\n\t\t\t\tMainJurisdiction: !source[\"ceterms:mainJurisdiction\"] ? {} : createPlaceListFromSourceList(source[\"ceterms:mainJurisdiction\"])[0],\r\n\t\t\t\tJurisdictionException: createPlaceListFromSourceList(source[\"ceterms:jurisdictionException\"])\r\n\t\t\t} as JurisdictionProfile;\r\n\t\t});\r\n\t}\r\n\r\n\tfunction createPlaceListFromSourceList(placeList: Array): Array {\r\n\t\treturn (placeList || []).map(source => {\r\n\t\t\treturn {\r\n\t\t\t\tAddressCountry: englishOrNull(source[\"ceterms:addressCountry\"]),\r\n\t\t\t\tAddressRegion: englishOrNull(source[\"ceterms:addressRegion\"]),\r\n\t\t\t\tAddressLocality: englishOrNull(source[\"ceterms:addressLocality\"]),\r\n\t\t\t\tStreetAddress: englishOrNull(source[\"ceterms:streetAddress\"]),\r\n\t\t\t\tPostalCode: source[\"ceterms:postalCode\"],\r\n\t\t\t\tPostOfficeBoxNumber: source[\"ceterms:postOfficeBoxNumber\"]\r\n\t\t\t\t//Identifier is not worth bothering with\r\n\t\t\t\t//TargetContactPoint is not worth bothering with\r\n\t\t\t} as Place;\r\n\t\t});\r\n\t}\r\n\r\n\tfunction createIdentifier(identifier: Array) {\r\n\t\treturn (identifier || []).map(source => {\r\n\t\t\treturn {\r\n\t\t\t\tIdentifierType: englishOrNull(source[\"ceterms:identifierType\"]),\r\n\t\t\t\tIdentifierTypeName: englishOrNull(source[\"ceterms:identifierTypeName\"]),\r\n\t\t\t\tIdentifierValueCode: englishOrNull(source[\"ceterms:identifierValueCode\"]),\r\n\t\t\t} as IdentifierValue;\r\n\t\t});\r\n\t}\r\n\t//Get all of the real URIs to fetch\r\n\tvar collectionMembers = graph.filter(item => item[\"@type\"] == \"ceterms:CollectionMember\");\r\n\tvar collectionMemberResourceURLs = rawCollectionData?.[\"ceterms:hasMember\"]?.filter((uri: string) => uri.includes(\"http\")).concat(collectionMembers.map(member => member[\"ceterms:proxyFor\"])) || [];\r\n\r\n\t//Inject resources and collection members for later use by the AJAXResourceList\r\n\tgraph.forEach(item => {\r\n\t\tappendAJAXCacheV3ResourceRaw(item[\"@id\"], item);\r\n\t});\r\n\r\n\tvar typeLabel = widgetGetSingleLabelForText(\"Collection\");\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{collection.Description || \"No description available\"}\r\n\t\t\t\t\t\t{collection.SubjectWebpage && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{collection.CollectionType?.length > 0 && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{collection.Connections?.length > 0 && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{collection.InCatalog && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t{(collection.LatestVersion || collection.PreviousVersion || collection.NextVersion) &&\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tThis {typeLabel} contains {rawCollectionData?.[\"ceterms:hasMember\"]?.length} members.\r\n\t\t\t\t\t\t\t\t\t renderCollectionMemberDataV2(data, itemContainer, graph)} StyleComponent={CollectionMemberStyleBlock} />\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tLabel: \"Details\",\r\n\t\t\t\t\t\t\tContent: (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{membershipConditionList?.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t].filter(m => m.Content != null)}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nfunction renderCollectionMemberDataV2(data: any, itemContainer: any, graph: Array) {\r\n\t//Finish setting up the box\r\n\titemContainer.classList.add(\"collectionMemberListItem\");\r\n\titemContainer.innerHTML = \"\";\r\n\r\n\t//If there is an associated collection member, render it\r\n\tvar typeLabel = widgetGetSingleLabelForText(\"Collection\");\r\n\tvar member = graph.find(item => item[\"ceterms:proxyFor\"] == data[\"@id\"]);\r\n\tif (member) {\r\n\r\n\t\tvar memberBox = itemContainer.appendChild(createElement(\"div\", \"collectionMemberBox\"));\r\n\t\t//renderText(memberBox, member[\"ceterms:name\"], \"div\", \"collectionMemberName\", \"Collection Member Name\");\r\n\t\t//renderText(memberBox, member[\"ceterms:description\"], \"div\", \"collectionMemberDescription\", \"Collection Member Description\");\r\n\t\trenderText(memberBox, member[\"ceterms:startDate\"] ? \"Membership Begins: \" + member[\"ceterms:startDate\"] : \"\", \"div\", \"collectionMemberDate\", \"Start date of the membership of this Resource in this \" + typeLabel + \".\");\r\n\t\trenderText(memberBox, member[\"ceterms:endDate\"] ? \"Membership Ends: \" + member[\"ceterms:endDate\"] : \"\", \"div\", \"collectionMemberDate\", \"End date of the membership of this Resource in this \" + typeLabel + \".\");\r\n\r\n\t}\r\n\r\n\t//Render the member resource data\r\n\tvar resourceBox = itemContainer.appendChild(createElement(\"div\", \"resourceBox\"));\r\n\r\n\t//If it's a competency, use the competency renderer\r\n\tif (data[\"@type\"] == \"ceasn:Competency\") {\r\n\t\trenderCompetencyFromRDF(data, resourceBox, [], false);\r\n\t}\r\n\t//Otherwise, use the vanilla renderer\r\n\telse {\r\n\t\r\n\t\tvar resourceBoxImage = resourceBox.appendChild(createElement(\"div\", \"resourceBoxImage\"));\r\n\t\tvar resourceBoxContent = resourceBox.appendChild(createElement(\"div\", \"resourceBoxContent\"));\r\n\t\tvar providerSource = data[\"ceterms:ownedBy\"] || data[\"ceterms:offeredBy\"] || data[\"ceasn:creator\"] || data[\"ceasn:publisher\"] || \"\";\r\n\t\tvar providerURI = Array.isArray(providerSource) ? providerSource[0] : providerSource;\r\n\t\tvar classification = data[\"ceterms:classification\"] || \"\";\r\n\t\t//to add this css onely when there is an image\r\n\t\tif (data[\"ceterms:image\"] || getImageUrl(data[\"@type\"])) {\r\n\t\t\tresourceBox.style.display = 'flex';\r\n\t\t\tresourceBox.style.flexDirection = 'row';\r\n\t\t}\r\n\t\trenderImage(resourceBoxImage, (data[\"ceterms:image\"] || getImageUrl(data[\"@type\"] )), \"resourceImage\");\r\n\t\trenderElement(resourceBoxContent, \" \", \"div\", \"resourceHeader\", (element, content) => {\r\n\t\t\telement.innerHTML = \"\";\r\n\t\t\trenderLink(element, appURL + \"/resources/\" + data[\"ceterms:ctid\"], getEnglish(data[\"ceterms:name\"] || data[\"ceasn:name\"] || data[\"skos:prefLabel\"] || \"Unnamed Resource\"), \"_blank\", \"resourceLink\");\r\n\t\t\t//renderText(element, \"(\" + (data[\"@type\"] || \"Unknown Type\") + \")\", \"div\", \"resourceType\");\r\n\t\t\tlookupSchema((schemaGraph) => {\r\n\t\t\t\tvar label = englishOrNull(schemaGraph.find((graphItem: any) => {\r\n\t\t\t\t\treturn graphItem[\"@id\"] == data[\"@type\"]\r\n\t\t\t\t})?.[\"rdfs:label\"] || data[\"@type\"] || \"Unknown Type\").replace(\" Profile\", \"\");\r\n\t\t\t\trenderText(element, \"(\" + label + \")\", \"div\", \"resourceType\");\r\n\t\t\t});\r\n\t\t});\r\n\t\tproviderURI && renderElement(resourceBoxContent, providerURI, \"div\", \"resourceProvider\", (box, uri) => {\r\n\t\t\tgetResourceViaResourceCacheV3(uri, (data) => {\r\n\t\t\t\tbox.innerHTML = \"Provider: \";\r\n\t\t\t\trenderLink(box, appURL + \"/organization/\" + data[\"ceterms:ctid\"], getEnglish(data[\"ceterms:name\"]), \"_blank\");\r\n\t\t\t});\r\n\t\t});\r\n\t\trenderText(resourceBoxContent, getEnglish(data[\"ceterms:description\"] || data[\"ceasn:description\"] || data[\"skos:prefLabel\"] || \"No Description\"), \"div\", \"resourceDescription\");\r\n\t\tif (classification && classification.length > 0) {\r\n\t\t\tconst totalConcepts = classification.length;\r\n\t\t\tconst totalConceptsButton = document.createElement(\"button\");\r\n\t\t\ttotalConceptsButton.innerHTML = totalConcepts + \" Concepts\";\r\n\t\t\ttotalConceptsButton.classList.add(\"toggleButton\");\r\n\t\t\tconst downArrowIcon = document.createElement(\"span\");\r\n\t\t\tdownArrowIcon.innerHTML = \"▼\";\r\n\t\t\tconst upArrowIcon = document.createElement(\"span\");\r\n\t\t\tupArrowIcon.innerHTML = \"▲\";\r\n\t\t\tupArrowIcon.style.display = \"none\";\r\n\t\t\ttotalConceptsButton.appendChild(downArrowIcon);\r\n\t\t\ttotalConceptsButton.appendChild(upArrowIcon);\r\n\t\t\tresourceBox.appendChild(totalConceptsButton);\r\n\r\n\t\t\tconst classificationContainer = document.createElement(\"div\");\r\n\t\t\tclassificationContainer.classList.add(\"classificationContainer\");\r\n\r\n\t\t\tclassification.forEach((classificationItem:any, index: any) => {\r\n\t\t\t\trenderElement(classificationContainer, classificationItem, \"div\", \"classification\", (box, uri) => {\r\n\t\t\t\t\tgetResourceViaResourceCacheV3(uri, (data) => {\r\n\t\t\t\t\t\trenderLink(box, appURL + \"/conceptscheme/\" + data[\"skos:topConceptOf\"].substring(data[\"skos:topConceptOf\"].lastIndexOf(\"/\") + 1) + \"?targetCTID=\" + data[\"ceterms:ctid\"], getEnglish(data[\"skos:prefLabel\"]), \"_blank\");\r\n\t\t\t\t\t\trenderText(classificationContainer, getEnglish(data[\"skos:definition\"] || \"\"), \"div\", \"conceptDescription\");\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tresourceBox.appendChild(classificationContainer);\r\n\r\n\t\t\tclassificationContainer.style.display = \"block\";\r\n\r\n\t\t\ttotalConceptsButton.addEventListener(\"click\", function () {\r\n\t\t\t\tif (classificationContainer.style.display === \"none\") {\r\n\t\t\t\t\tclassificationContainer.style.display = \"block\";\r\n\t\t\t\t\tdownArrowIcon.style.display = \"none\";\r\n\t\t\t\t\tupArrowIcon.style.display = \"inline\";\r\n\t\t\t\t} else {\r\n\t\t\t\t\tclassificationContainer.style.display = \"none\";\r\n\t\t\t\t\tdownArrowIcon.style.display = \"inline\";\r\n\t\t\t\t\tupArrowIcon.style.display = \"none\";\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t}\r\n\r\n\r\n\r\n\t}\r\n}\r\n\r\nfunction CollectionMemberStyleBlock() {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n//get iconurl with type\r\nfunction getImageUrl(credentialType: any) {\r\n\tif (credentialType.includes(\"Badge\")) {\r\n\t\treturn \"https://apps.credentialengine.org/services/images/icons/flat_badge_cropped.png\";\r\n\t}else if (credentialType.includes(\"Certification\") || credentialType.includes(\"Certificate\") ) {\r\n\t\treturn \"https://apps.credentialengine.org/services/images/icons/flat_certificate_cropped.png\";\r\n\t} else if (credentialType.includes(\"Degree\")) {\r\n\t\treturn \"https://apps.credentialengine.org/services/images/icons/flat_degree_cropped.png\";\r\n\t} else if (credentialType.includes(\"License\")) {\r\n\t\treturn \"https://apps.credentialengine.org/services/images/icons/flat_license_cropped.png\";\r\n\t} else if (credentialType.includes(\"Diploma\")) {\r\n\t\treturn \"https://apps.credentialengine.org/services/images/icons/flat_diploma_cropped.png\";\r\n\t} else if (credentialType.includes(\"Credential\")) {\r\n\t\treturn \"https://apps.credentialengine.org/services/images/icons/flat_microcredential_cropped.png\";\r\n\t}\r\n}\r\n\r\nconst VanillaRendererStyleBlock = function () {\r\n\treturn ();\r\n}\r\n\r\n\r\n\r\nfunction RelatedDataPageSection(props: { item: any, relatedItemsMap: any }) {\r\n\tif (!props.item || !props.relatedItemsMap || props.relatedItemsMap.length == 0 || Object.keys(props.relatedItemsMap).length == 0) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvar relatedItemSets = [\r\n\t\t{ labelTemplate: \"{number} Related Credentials\", pathMatch: \"< ceterms:Credential$\", relatedItemURIs: [] as Array },\r\n\t\t{ labelTemplate: \"{number} Related Assessments\", pathMatch: \"< ceterms:AssessmentProfile$\", relatedItemURIs: [] as Array },\r\n\t\t{ labelTemplate: \"{number} Related Learning Opportunities\", pathMatch: \"< ceterms:LearningOpportunityProfile$\", relatedItemURIs: [] as Array },\r\n\t\t{ labelTemplate: \"{number} Related Courses\", pathMatch: \"< ceterms:Course$\", relatedItemURIs: [] as Array },\r\n\t\t{ labelTemplate: \"{number} Related WorkRoles\", pathMatch: \"< ceterms:WorkRole$\", relatedItemURIs: [] as Array },\r\n\t\t{ labelTemplate: \"{number} Related Jobs\", pathMatch: \"< ceterms:Job$\", relatedItemURIs: [] as Array },\r\n\t\t{ labelTemplate: \"{number} Related Occupations\", pathMatch: \"< ceterms:Occupation$\", relatedItemURIs: [] as Array },\r\n\t\t{ labelTemplate: \"{number} Related Tasks\", pathMatch: \"< ceterms:Task$\", relatedItemURIs: [] as Array }\r\n\r\n\t];\r\n\r\n\t//For each related item set...\r\n\trelatedItemSets.forEach(set => {\r\n\t\t//Find the related item maps that match its path and extract their URIs. For each such URI...\r\n\t\tprops.relatedItemsMap.filter((map: any) => { return map.Path.match(set.pathMatch)?.length > 0 }).flatMap((map: any) => { return map.URIs }).forEach((uri: string) => {\r\n\t\t\t//Add it to the related item set's URIs list if it isn't already present\r\n\t\t\tif (!set.relatedItemURIs.includes(uri)) {\r\n\t\t\t\tset.relatedItemURIs.push(uri);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\t//Return null if there are no related item URIs that match\r\n\tif (relatedItemSets.filter((set: any) => { return set.relatedItemURIs.length > 0 }).length == 0) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\t{/**/ }\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{relatedItemSets.map((set: any) => (\r\n\t\t\t\t\t renderCollectionMemberDataV2(data, itemContainer, [])} StyleComponent={CollectionMemberStyleBlock} />}\r\n\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t/>\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\n\r\nfunction AJAXModalForRelatedItems(props: { relatedItemsMap: any, labelTemplate: string, pathMatch: string }) {\r\n\tif (!props.relatedItemsMap) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvar maps = props.relatedItemsMap.filter((item: any) => item.Path.match(props.pathMatch));\r\n\tif (maps.length == 0) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvar urls = maps.flatMap((map: any) => map.URIs);\r\n\treturn \r\n}\r\n\r\nfunction RenderGenericItem(props: { data: any, index: number }) {\r\n\tconst [provider, setProvider] = useState({} as any);\r\n\r\n\tuseEffect(() => {\r\n\t\tvar providerURI = (props.data[\"ceterms:ownedBy\"] || props.data[\"ceterms:offeredBy\"] || props.data[\"ceasn:creator\"] || props.data[\"ceasn:publisher\"] || [])[0];\r\n\t\tif (providerURI) {\r\n\t\t\tgetResourceByURLWithoutState(providerURI, null, (result: any) => {\r\n\t\t\t\tsetProvider(result);\r\n\t\t\t}, (error: any) => {\r\n\t\t\t\tconsole.log(\"Error\", error);\r\n\t\t\t\tsetProvider({ \"ceterms:name\": { \"en\": \"Error loading provider data.\" }, \"ceterms:ctid\": \"\" });\r\n\t\t\t});\r\n\t\t}\r\n\t}, []);\r\n\r\n\treturn \r\n\t\t{englishOrNull(props.data[\"ceterms:name\"] || props.data[\"ceasn:name\"])}\r\n\t\t{provider ? Provider: {englishOrNull(provider[\"ceterms:name\"])} :
    }\r\n\t\t{englishOrNull(props.data[\"ceterms:description\"] || props.data[\"ceasn:description\"])}\r\n\t
    \r\n}\r\n\r\nfunction RenderError(props: { error: any, index: number }) {\r\n\treturn {props.error}\r\n}\r\n\r\nconst CollectionMembersListWrapper = styled.div`\r\n\t\r\n`;\r\n\r\nconst CollectionMemberCount = styled.div`\r\n\tpadding: 10px 5px; font-style: italic;\r\n`;\r\n\r\nconst CollectionItem = styled.div`\r\n\tborder-top: 1px solid #CCC;\r\n`;\r\n\r\nconst MemberDataWrapper = styled.div`\r\n\tpadding: 10px;\r\n`;\r\n\r\nconst CollectionMemberHeader = styled.div`\r\n\tdisplay: flex; padding: 5px 10px; font-style: italic; font-size: 12px;\r\n\r\n\t& span {\r\n\t\tmargin-right: 20px;\r\n\t}\r\n`;\r\n\r\nconst MemberHeader = styled.div`\r\n\tdisplay: flex;\r\n`;\r\n\r\nconst MemberName = styled.div`\r\n\tfont-weight: bold;\r\n\tmargin-right: 20px;\r\n`;\r\n\r\nconst MemberType = styled.div`\r\n\tfont-style: italic;\r\n`;\r\n\r\nconst MemberDescription = styled.div`\r\n\tpadding: 0 10px; font-size: 14px;\r\n`;\r\n\r\nconst RelatedListItem = styled.div`\r\n\r\n`\r\n\r\nconst GenericItem = styled(RelatedListItem)`\r\n\r\n`;\r\n\r\nconst GenericTitle = styled.a`\r\n\tdisplay: block;\r\n\tfont-weight: bold;\r\n`;\r\n\r\nconst GenericProvider = styled.div`\r\n\tdisplay: block;\r\n\tpadding: 2px 5px;\r\n\tfont-size: 85%;\r\n\tfont-style: italic;\r\n`;\r\n\r\nconst GenericDescription = styled.div`\r\n\r\n`;\r\n\r\nconst Error = styled(RelatedListItem)`\r\n\r\n`;\r\n","export default __webpack_public_path__ + \"static/media/icon-transfer-value-white-green-01.2098d5ee.svg\";","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport pageIcon from '../../assets/images/icons/icon-transfer-value-white-green-01.svg';\r\nimport Banner from '../../components/Banner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport {\r\n Description,\r\n Label,\r\n Wrapper\r\n} from '../../components/DetailPage/styles';\r\nimport ValueProfileList from '../../components/DetailPage/ValueProfile';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { apiUrl, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport { Collection } from '../../types/external';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\n\r\n\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function CollectionPageV2(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n const [pageModel, setPageData] = useState({} as Collection);\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n useEffect(() => {\r\n getPageData(`${apiUrl}/collection/${id}`, (data: Collection) => {\r\n setPageData(data);\r\n });\r\n }, [getPageData, id]);\r\n //\r\n\r\n function getSubTitleLink() {\r\n if (pageModel.OwnedByLabel && pageModel.OwnedByLabel.Label) {\r\n return pageModel.OwnedByLabel.URL ?\r\n {pageModel.OwnedByLabel.Label} :\r\n <>{pageModel.OwnedByLabel.Label};\r\n }\r\n return null;\r\n }\r\n\r\n function getLegacyLink() {\r\n if (pageModel.Meta_Id) {\r\n const url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n const mystyle = {\r\n //color: \"rgba(0,0,0,.01)\",\r\n color: \"transparent\",\r\n //backgroundColor: \"rgba(0,0,0,.01)\",\r\n marginLeft: \"10px\"\r\n };\r\n return <>\r\n Legacy\r\n \r\n\r\n }\r\n return null;\r\n\t}\r\n\r\n\tvar typeLabel = widgetGetSingleLabelForText(\"Collection\");\r\n\r\n return (\r\n \r\n\r\n Last updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n }\r\n />\r\n \r\n \r\n \r\n\t\t\t\t\t\t\r\n \r\n {pageModel.Description && (\r\n \r\n {pageModel.Description}\r\n \r\n )}\r\n \r\n {pageModel.SubjectWebpage &&\r\n \r\n }\r\n \r\n \r\n {/*{pageModel.Connections?.length > 0 && (*/}\r\n {/*\t*/}\r\n {/*\t\t*/}\r\n {/* */}\r\n {/*\t*/}\r\n {/*)}*/}\r\n \r\n \r\n\t\t\t\t\t\r\n \r\n \r\n\t\t\t\t\t\r\n\r\n \r\n \r\n \r\n );\r\n}\r\n//","import React, { useEffect, useState } from 'react';\r\nimport axios from 'axios';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport InnerHTML from 'dangerously-set-html-content';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport styled from 'styled-components/macro';\r\nimport Error from '../../components/Error';\r\nimport { legacySourceUrl } from '../../shared/globals';\r\n\r\ninterface Props {\r\n\tid: string;\r\n\tcompetencyCTID?: string;\r\n}\r\n\r\nexport default function CompetencyFrameworkPage(\r\n props: RouteComponentProps,\r\n) {\r\n\tconst id = props.match.params.id;\r\n\tconst paramSearch = (props.location.search || \"\").replace(\"?\", \"&\");\r\n const [loading, setLoading] = useState(false);\r\n const [pageContent, setPageContent] = useState(' ');\r\n const [error, setError] = useState(false);\r\n\r\n\tconsole.log(\"Router props\", props);\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n\t\tconst url = `${legacySourceUrl}/competencyframework/${id}?coreonly=true` + paramSearch;\r\n axios\r\n .get(url)\r\n .then((res) => {\r\n setPageContent(res.data);\r\n setLoading(false);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n setError(true);\r\n setLoading(false);\r\n });\r\n }, []);\r\n if (loading) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n if (error) {\r\n return ;\r\n }\r\n return ;\r\n}\r\n\r\nconst LoadingIndicatorWrapper = styled.div`\r\n text-align: center;\r\n padding: 50px;\r\n`;\r\n","import React, { ReactNode, useEffect, useState } from 'react';\r\nimport { renderToString } from 'react-dom/server';\r\nimport styled from 'styled-components/macro';\r\nimport { apiUrl, appBaseName, appURL, registryURL } from '../../shared/globals';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { CompetencyFramework as CompetencyFrameworkType, Competency as CompetencyType, Outline, Link, IdentifierValue, AJAXSettings } from '../../types/external';\r\nimport { Concept } from '../ConceptSchemePage';\r\nimport competenciesbannerIcon from '../../assets/images/icons/icon-competencies-white-green-01.svg';\r\nimport competenciesIcon from '../../assets/images/icons/icon-competencies-blue-green-01.svg';\r\nimport PageBanner from '../../components/DetailPage/PageBanner';\r\nimport {\r\n\tWrapper,\r\n\tFullWidthWrapper,\r\n\tInnerWrapper,\r\n\tDescription,\r\n\tLabel,\r\n\tSection\r\n} from '../../components/DetailPage/styles';\r\nimport { VStack } from '../../components/Stack';\r\nimport PageSection from '../../components/PageSection';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport RelatedOrganizationPageSection, { RelatedOrganizationPageSectionAJAXResourceList } from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport { getResourceByURI, englishOrNull, createKeywordSearchLink, getAndRenderByURL, getResourceByURLWithoutState, createReferenceFrameworkFromCredentialAlignmentObject, addResourceToCache } from '../../components/GetResourceByURI';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport { CompetencyFramework } from '../../components/DetailPage/CompetencyFramework';\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport SubjectsAndKeywordsPageSection from '../../components/DetailPage/SubjectsAndKeywordsPageSection';\r\nimport OccupationsAndIndustriesSection from '../../components/DetailPage/OccupationsAndIndustriesSection';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faAngleDown, faAngleRight } from '@fortawesome/free-solid-svg-icons';\r\nimport ConnectionsSectionForDSP, { DSPConnection } from '../../components/DetailPage/ConnectionsSectionForDSP';\r\nimport { renderCompetencyFromRDF, CompetencyStyleBlock } from '../../components/DetailPage/Competency';\r\nimport AJAXResourceList, { getDetailPageHeaderModifiedDate, OutlineStyleBlock, renderOutline } from '../../components/AJAXResourceList';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport { renderJSONLDMetaTags } from '../../utils/JSONLDMetaHelper';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport { LinkItem } from '../../components/DetailPage/Shared';\r\n\r\n\r\ninterface Props {\r\n\tid: string;\r\n\ttargetCTID?: string;\r\n}\r\n\r\nexport default function CompetencyFrameworkPageV2(props: RouteComponentProps) {\r\n\tconst id = props.match.params.id;\r\n\tconst [dataIsLoading, setDataIsLoading] = useState(true);\r\n\tconst [hasError, setHasError] = useState(false);\r\n\tconst [competencyFramework, setCompetencyFramework] = useState({} as CompetencyFrameworkType);\r\n\tconst [competencies, setCompetencies] = useState([] as Array);\r\n\tconst [localAJAXCache, setLocalAJAXCache] = useState([] as Array); //Used to trick react into re-rendering the data\r\n\tconst [relatedItems, setRelatedItems] = useState([] as Array);\r\n\tconst [relatedItemsMap, setRelatedItemsMap] = useState([] as Array);\r\n\tconst [rawCompetencyFramework, setRawCompetencyFramework] = useState({} as any);\r\n\tconst [relatedWorkRoles, setRelatedWorkRoles] = useState({} as AJAXSettings);\r\n\r\n\t//This is so backwards I hate this\r\n\tconst [publicationStatusText, setPublicationStatusText] = useState(\"\");\r\n\r\n\tuseEffect(() => {\r\n\r\n\t\tgetResourceByURI(`${apiUrl}/dsp_competencyframework/${id}?includeRelatedResources=true&perBranchLimit=20`, setLocalAJAXCache, null,\r\n\t\t\t(loaded: any) => {\r\n\t\t\t\tvar data = loaded.Result;\r\n\t\t\t\trenderJSONLDMetaTags(data.Resource, \"CompetencyFramework\");\r\n\t\t\t\tsetRawCompetencyFramework(loaded.Result.Resource); //Takes extra rendering cycles for some stupid reason so double assign it\r\n\t\t\t\tsetDataIsLoading(false);\r\n\t\t\t\tsetCompetencyFramework(convertDataToCompetencyFramework(data.Resource || { \"ceasn:name\": \"Missing Competency Framework\", \"ceasn:description\": \"Unable to find data for identifier: \" + id }, data.Metadata));\r\n\t\t\t\tsetCompetencies(data.RelatedItems?.filter((m: any) => { return m && m[\"ceasn:isPartOf\"] == data?.Resource?.[\"@id\"] }).map((m: CompetencyType) => { return convertDataToCompetency(m) }) || []);\r\n\t\t\t\tsetRelatedItems(data.RelatedItems);\r\n\t\t\t\tsetRelatedItemsMap(data.RelatedItemsMap);\r\n\t\t\t\tdata.RelatedItems?.forEach((item: any) => {\r\n\t\t\t\t\tif (item[\"@id\"]) {\r\n\t\t\t\t\t\taddResourceToCache(item[\"@id\"], item);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tconsole.log(\"DSP Data\", { Framework: competencyFramework, Competencies: competencies, Map: data.RelatedItemsMap, Related: data.RelatedItems });\r\n\r\n\t\t\t\tif (competencyFramework.PublicationStatusType) {\r\n\t\t\t\t\tgetResourceByURLWithoutState(competencyFramework.PublicationStatusType, null, (success: any) => {\r\n\t\t\t\t\t\tsetPublicationStatusText(englishOrNull(success?.[\"@graph\"]?.[0]?.[\"skos:prefLabel\"]));\r\n\t\t\t\t\t\tconsole.log(publicationStatusText);\r\n\t\t\t\t\t}, (error: any) => {\r\n\t\t\t\t\t\tsetPublicationStatusText(\"Error loading Status: \" + competencyFramework.PublicationStatusType);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\t(Array.from(competencyFramework.Meta_JSON?.[\"ceasn:conceptTerm\"] || [])).forEach((uri: any) => { //Array.from is only used here because TypeScript will not get out of my way without it\r\n\t\t\t\t\tgetResourceByURLWithoutState(uri, null, (success: any) => {\r\n\t\t\t\t\t\tcompetencyFramework.ConceptTerm.push(createKeywordSearchLink(\"competencyframework\", englishOrNull(success[\"skos:prefLabel\"])) as Link);\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t(error: any) => {\r\n\t\t\t\tsetHasError(true);\r\n\t\t\t\tconsole.log(\"Error loading data: \", error);\r\n\t\t\t}\r\n\t\t);\r\n\r\n\t\tnew URLSearchParams(window.location.search).forEach(function (value: string, key: string) {\r\n\t\t\tif (key.toLowerCase() == \"competencyctid\" || key.toLowerCase() == \"targetctid\") {\r\n\t\t\t\tconsole.log(\"Jumping to CTID\", value.toLowerCase());\r\n\t\t\t\tjumpToCompetencyCTID(value.toLowerCase(), 0);\r\n\t\t\t}\r\n\t\t});\r\n\t}, [id, localAJAXCache]);\r\n\r\n\tfunction jumpToCompetencyCTID(targetCTID: string, attempts: number) {\r\n\t\tsetTimeout(function () {\r\n\t\t\tvar element = document.getElementById(targetCTID);\r\n\t\t\tif (element && element.getElementsByClassName(\"competencyContent\").length > 0) {\r\n\t\t\t\telement.scrollIntoView();\r\n\t\t\t}\r\n\t\t\telse if (attempts <= 10) {\r\n\t\t\t\tjumpToCompetencyCTID(targetCTID, attempts + 1);\r\n\t\t\t}\r\n\t\t}, 500);\r\n\t}\r\n\r\n\tfunction convertDataToCompetencyFramework(resource: any, metadata: any): CompetencyFrameworkType {\r\n\t\treturn {\r\n\t\t\tBroadType: \"CompetencyFramework\",\r\n\t\t\tCTDLType: \"ceasn:CompetencyFramework\",\r\n\t\t\tCTDLTypeLabel: \"Competency Framework\",\r\n\t\t\tMeta_Id: id,\r\n\t\t\tMeta_Language: resource[\"ceasn:inLanguage\"]?.[0] || \"en\",\r\n\t\t\tCTID: resource[\"ceterms:ctid\"],\r\n\t\t\tMeta_LastUpdated: metadata?.DateModified || \"Unknown\",\r\n\t\t\tMeta_LastUpdatedHeader: getDetailPageHeaderModifiedDate(metadata?.DateModified),\r\n\t\t\tName: englishOrNull(resource[\"ceasn:name\"]),\r\n\t\t\tDescription: englishOrNull(resource[\"ceasn:description\"]),\r\n\t\t\tSource: resource[\"ceasn:source\"],\r\n\t\t\tInLanguage: resource[\"ceasn:inLanguage\"],\r\n\t\t\tConceptKeyword: englishOrNull(resource[\"ceasn:conceptKeyword\"])?.map((m: string) => { return createKeywordSearchLink(\"competencyframework\", m) }),\r\n\t\t\t//ConceptTerm: resource[\"ceasn:conceptTerm\"]?.map((m: string) => { return createKeywordSearchLink(\"competencyframework\", englishOrNull(m)) }),\r\n\t\t\tConceptTerm: [] as Array,\r\n\t\t\tInstructionalProgramType: resource[\"ceterms:instructionalProgramType\"]?.map((m: any) => { return createReferenceFrameworkFromCredentialAlignmentObject(\"competencyframework\", m) }),\r\n\t\t\tIndustryType: resource[\"ceterms:industryType\"]?.map((m: any) => { return createReferenceFrameworkFromCredentialAlignmentObject(\"competencyframework\", m) }),\r\n\t\t\tOccupationType: resource[\"ceterms:occupationType\"]?.map((m: any) => { return createReferenceFrameworkFromCredentialAlignmentObject(\"competencyframework\", m) }),\r\n\t\t\tHasProgressionModel: resource[\"asn:hasProgressionModel\"], //Should use the same data conversion process as concept schemes\r\n\t\t\tLocalSubject: resource[\"ceasn:localSubject\"]?.map((m: string) => { return createKeywordSearchLink(\"competencyframework\", englishOrNull(m)) }),\r\n\t\t\tCreator: resource[\"ceasn:creator\"]?.map((m: string) => { return getOrganizationOutlineByURI(m) }),\r\n\t\t\tAlignFrom: resource[\"ceasn:alignFrom\"],\r\n\t\t\tAlignTo: resource[\"ceasn:alignTo\"],\r\n\t\t\tDerivedFrom: resource[\"ceasn:derivedFrom\"],\r\n\t\t\tDateCreated: resource[\"ceasn:dateCreated\"],\r\n\t\t\tDateCopyrighted: resource[\"ceasn:dateCopyrighted\"],\r\n\t\t\tDateModified: resource[\"ceasn:dateModified\"],\r\n\t\t\tDateValidFrom: resource[\"ceasn:dateValidFrom\"],\r\n\t\t\tDateValidUntil: resource[\"ceasn:dateValidUntil\"],\r\n\t\t\tLicense: resource[\"ceasn:license\"],\r\n\t\t\tPublicationStatusType: resource[\"ceasn:publicationStatusType\"],\r\n\t\t\tEducationLevelType: resource[\"ceasn:educationLevelType\"],\r\n\t\t\tPublisher: resource[\"ceasn:publisher\"]?.map((m: string) => { return getOrganizationOutlineByURI(m) }),\r\n\t\t\tPublisherName: englishOrNull(resource[\"ceasn:publisherName\"]),\r\n\t\t\tRights: englishOrNull(resource[\"ceasn:rights\"]),\r\n\t\t\tRightsHolder: resource[\"ceasn:rightsHolder\"] && (Array.isArray(resource[\"ceasn:rightsHolder\"]) ? resource[\"ceasn:rightsHolder\"].map(m => getOrganizationOutlineByURI(m)) : [getOrganizationOutlineByURI(resource[\"ceasn:rightsHolder\"])]),\r\n\t\t\tCredentialRegistryURL: resource[\"@id\"],\r\n\t\t\tHasTopChild: resource[\"ceasn:hasTopChild\"],\r\n\t\t\tLatestVersion: resource[\"ceterms:latestVersion\"],\r\n\t\t\tPreviousVersion: resource[\"ceterms:previousVersion\"],\r\n\t\t\tNextVersion: resource[\"ceterms:nextVersion\"],\r\n\t\t\tVersionIdentifier: createIdentifier(resource[\"ceterms:versionIdentifier\"]),\r\n\t\t\tOwnedByLabel: (resource[\"ceasn:creator\"] || resource[\"ceasn:publisher\"])?.map((m: string) => { return getOrganizationOutlineByURI(m) })?.map((m: any) => { return { Label: m.Label, URL: m.URL } as Link; })[0],\r\n\t\t\tRegistryData: { CTID: resource[\"ceterms:ctid\"], Resource: { URL: resource[\"@id\"], Label: \"View Resource\" }, Envelope: { URL: resource[\"@id\"]?.replace(\"/resources/\", \"/envelopes/\"), Label: \"View Envelope\" } },\r\n\t\t\tMeta_JSON: resource || {}\r\n\t\t} as CompetencyFrameworkType;\r\n\t}\r\n\r\n\tfunction getOrganizationOutlineByURI(uri: string): Outline {\r\n\t\tvar data = getResourceByURI(uri, setLocalAJAXCache).Data;\r\n\t\treturn {\r\n\t\t\tLabel: englishOrNull(data?.[\"ceterms:name\"]) || ,\r\n\t\t\tURL: appURL + \"/organization/\" + uri.split(\"/resources/\")[1],\r\n\t\t\tImage: data?.[\"ceterms:image\"]\r\n\t\t} as Outline;\r\n\t}\r\n\r\n\tvar topCompetencies = competencyFramework.HasTopChild?.length > 0 ? competencyFramework.HasTopChild.map((m) => { return competencies.filter((n) => { return n.CredentialRegistryURL == m })[0] }).filter((m) => { return m }) : competencies;\r\n\tvar renderedCompetencies = [] as Array;\r\n\r\n\tvar referencedByCredentials = getDSPConnectionURIs(new RegExp(\"ceterms:Credential$\"));\r\n\tvar referencedByAssessments = getDSPConnectionURIs(new RegExp(\"ceterms:AssessmentProfile$\"));\r\n\tvar referencedByLearningOpportunities = getDSPConnectionURIs(new RegExp(\"ceterms:LearningOpportunityProfile$\"));\r\n\tvar referencesConceptSchemes = getDSPConnectionURIs(new RegExp(\"skos:ConceptScheme$\"));\r\n\tvar referencedByWorkRoles = getDSPConnectionURIs(new RegExp(\"ceterms:WorkRole$\"));\r\n\tvar referencedByJobs = getDSPConnectionURIs(new RegExp(\"ceterms:Job$\"));\r\n\tvar referencedByOccupations = getDSPConnectionURIs(new RegExp(\"ceterms:Occupation$\"));\r\n\tvar referencedByTasks = getDSPConnectionURIs(new RegExp(\"ceterms:Task$\"));\r\n\r\n\tfunction getDSPConnectionURIs(expression: RegExp): Array {\r\n\t\tvar uris = [] as Array;\r\n\t\tvar matches = relatedItemsMap?.filter(m => { return expression.test(m.Path) }) || [];\r\n\t\tmatches.forEach((match) => {\r\n\t\t\turis = uris.concat(match.URIs?.filter((m: string) => { return uris.indexOf(m) == -1 }) || []);\r\n\t\t});\r\n\t\treturn uris;\r\n\t}\r\n\r\n\tvar typeLabel = widgetGetSingleLabelForText(\"Competency Framework\");\r\n\r\n\tuseEffect(() => {\r\n\t\tconst ctid = competencyFramework.CTID;\r\n\t\tif (ctid != null) {\r\n\t\t\tvar data = getResourceByURI(`${apiUrl}/GetRelatedResource/${ctid}/34`, setLocalAJAXCache).Data;//WorkRolesEntityTypeId is 34\r\n\t\t\tif (data != null && data.Result) {\r\n\t\t\t\tsetRelatedWorkRoles(data.Result);\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t}, [competencyFramework]);\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{competencyFramework.Description || \"No description available\"}\r\n\t\t\t\t\t\t{competencyFramework.Rights && Rights: {competencyFramework.Rights}}\r\n\t\t\t\t\t\t{competencyFramework.Source?.length > 0 && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{competencyFramework.Source.map((m) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{competencyFramework.PublicationStatusType && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{publicationStatusText && {publicationStatusText}}\r\n\t\t\t\t\t\t\t\t{!publicationStatusText &&
    }\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{competencyFramework.EducationLevelType?.length > 0 && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{competencyFramework.EducationLevelType.map((m) => (\r\n\t\t\t\t\t\t\t\t\tEducation Level Type\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t{/* //TODO: Add this when we have a good way to do so*/}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{competencyFramework.ConceptTerm?.length > 0 && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{(competencyFramework.LatestVersion || competencyFramework.PreviousVersion || competencyFramework.NextVersion) &&\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tThis {typeLabel} contains {competencies.length} Competencies.\r\n\t\t\t\t\t\t\t\t\t m.CredentialRegistryURL)}\r\n\t\t\t\t\t\t\t\t\t\tresources={relatedItems.map(m => { return { URL: m[\"@id\"], Data: m } })}\r\n\t\t\t\t\t\t\t\t\t\tonSuccess={(data, itemContent, listContent) => renderCompetencyFromRDF(data, itemContent, relatedItemsMap, true )}\r\n\t\t\t\t\t\t\t\t\t\tStyleComponent={CompetencyStyleBlock}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t{/*\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tLabel: \"Details\",\r\n\t\t\t\t\t\t\tContent: (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/**/}\r\n\t\t\t\t\t\t\t\t\t\t{(\r\n\t\t\t\t\t\t\t\t\t\t\treferencedByCredentials.length > 0 ||\r\n\t\t\t\t\t\t\t\t\t\t\treferencedByAssessments.length > 0 ||\r\n\t\t\t\t\t\t\t\t\t\t\treferencedByLearningOpportunities.length > 0 ||\r\n\t\t\t\t\t\t\t\t\t\t\treferencesConceptSchemes.length > 0 ||\r\n\t\t\t\t\t\t\t\t\t\t\trelatedWorkRoles.Total > 0 || referencedByTasks.length > 0 || referencedByJobs.length > 0 || referencedByOccupations.length > 0\r\n\t\t\t\t\t\t\t\t\t\t) && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t].filter(m => m.Content != null)}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\t\t
    \r\n\t)\r\n}\r\n\r\nfunction createIdentifier(identifier: Array) {\r\n\treturn (identifier || []).map(source => {\r\n\t\treturn {\r\n\t\t\tIdentifierType: englishOrNull(source[\"ceterms:identifierType\"]),\r\n\t\t\tIdentifierTypeName: englishOrNull(source[\"ceterms:identifierTypeName\"]),\r\n\t\t\tIdentifierValueCode: englishOrNull(source[\"ceterms:identifierValueCode\"]),\r\n\t\t} as IdentifierValue;\r\n\t});\r\n}\r\n\r\nfunction ConnectionsSectionForDSPModal(props: { competencyFramework: CompetencyFrameworkType, uriList: Array, label: string }) {\r\n\treturn props.uriList?.length > 0 && (\r\n\t\t renderOutline(data, itemContent, listContent)}\r\n\t\t\t\tStyleComponent={OutlineStyleBlock}\r\n\t\t\t/>}\r\n\t\t\thideCount={true}\r\n\t\t/>\r\n\t) || null\r\n}\r\n\r\nexport function convertDataToCompetency(resource: any): CompetencyType {\r\n\treturn {\r\n\t\tBroadType: \"Competency\",\r\n\t\tCTDLType: \"ceasn:Competency\",\r\n\t\tCTDLTypeLabel: \"Competency\",\r\n\t\tMeta_Language: resource[\"ceasn:inLanguage\"]?.[0] || \"en\",\r\n\t\tCredentialRegistryURL: resource[\"@id\"],\r\n\t\tCTID: resource[\"ceterms:ctid\"],\r\n\t\tCompetencyLabel: englishOrNull(resource[\"ceasn:competencyLabel\"]),\r\n\t\tCompetencyText: englishOrNull(resource[\"ceasn:competencyText\"]),\r\n\t\tCompetencyCategory: englishOrNull(resource[\"ceasn:competencyCategory\"]),\r\n\t\tComment: englishOrNull(resource[\"ceasn:comment\"]),\r\n\t\tListID: resource[\"ceasn:listID\"],\r\n\t\tCodedNotation: resource[\"ceasn:codedNotation\"],\r\n\t\tHasChild: resource[\"ceasn:hasChild\"],\r\n\t\tMeta_JSON: resource\r\n\t} as CompetencyType;\r\n}\r\n\r\nexport function CompetencyListManual(props: { topCompetencies: Array, allCompetencies: Array | null, relatedItems: Array, renderedCompetencies: Array, setLocalAJAXCache: React.Dispatch> }) {\r\n\tuseEffect(() => {\r\n\t\tvar container = document.getElementById(\"mainCompetencyBox\");\r\n\t\tif (container && Array.from(container.classList).indexOf(\"rendered\") == -1) {\r\n\t\t\tcontainer.classList.add(\"rendered\");\r\n\t\t\tprops.topCompetencies.forEach((competency) => {\r\n\t\t\t\trenderCompetency(competency, props.allCompetencies, props.relatedItems, props.renderedCompetencies, container, props.setLocalAJAXCache);\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\r\n\t)\r\n}\r\n\r\nexport function renderCompetency(competency: CompetencyType, allCompetencies: Array | null, relatedItems: Array, renderedCompetencies: Array, container: any, setLocalAJAXCache: React.Dispatch>) {\r\n\tif (competency && renderedCompetencies.indexOf(competency) == -1) {\r\n\t\trenderedCompetencies.push(competency);\r\n\t\t//Render the competency div immediately so that competencies always render in the correct order\r\n\t\tvar wrapper = document.createElement(\"div\");\r\n\t\twrapper.classList.add(\"competency\");\r\n\t\twrapper.id = competency.CTID;\r\n\t\twrapper.dataset.ctid = competency.CTID;\r\n\t\tcontainer.appendChild(wrapper);\r\n\t\twrapper.innerHTML = renderToString(ActivityIndicator({ size: \"sm\" }));\r\n\r\n\t\t//Asynchronously render the contents of the competency div\r\n\t\tsetTimeout(function () {\r\n\t\t\t//Main Content\r\n\t\t\twrapper.innerHTML = renderToString(\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{competency.CompetencyCategory && {competency.CompetencyCategory}}\r\n\t\t\t\t\t\t\t{competency.ListID && {competency.ListID}}\r\n\t\t\t\t\t\t\t{competency.CodedNotation && {competency.CodedNotation}}\r\n\t\t\t\t\t\t\t{competency.Meta_JSON[\"ceasn:altCodedNotation\"] && {competency.Meta_JSON[\"ceasn:altCodedNotation\"]}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{competency.CompetencyLabel && {competency.CompetencyLabel}}\r\n\t\t\t\t\t\t\t{competency.CompetencyText && {competency.CompetencyText}}\r\n\t\t\t\t\t\t\t{competency.Comment?.length > 0 && {competency.Comment.map((m) => (
    {m}
    ))}
    }\r\n\t\t\t\t\t\t\t{competency.CTID?.length > 0 && CTID: {competency.CTID}}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\r\n\t\t\t//Interaction - wire this up first so it doesn't impact child competencies\r\n\t\t\tArray.from(wrapper?.querySelectorAll(\".competencyExtraListWrapper\") || []).forEach(function (item) {\r\n\t\t\t\titem.querySelector(\".competencyExtraListSummaryButton\")?.addEventListener(\"click\", function () {\r\n\t\t\t\t\titem.classList.contains(\"expanded\") ? item.classList.remove(\"expanded\") : item.classList.add(\"expanded\");\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\t//Lookups for referenced data\r\n\t\t\tvar references = Array.from(wrapper?.querySelectorAll(\"[data-lookup\") || []);\r\n\t\t\treferences.forEach((item: any) => {\r\n\t\t\t\tif (!item.classList.contains(\"loaded\")) {\r\n\t\t\t\t\tgetAndRenderByURL(item.dataset.lookup, relatedItems, { \"ceasn:competencyText\": { \"en\": \"Error loading competency: \" + item.dataset.lookup } }, (competency: any) => {\r\n\t\t\t\t\t\titem.classList.add(\"loaded\");\r\n\t\t\t\t\t\titem.innerHTML = englishOrNull(competency[\"ceasn:competencyText\"]) || \"Error: No competency text: \" + item.dataset.lookup;\r\n\t\t\t\t\t\tvar isPartOf = competency[\"ceasn:isPartOf\"];\r\n\t\t\t\t\t\tvar isMemberOf = competency[\"ceterms:isMemberOf\"];\r\n\t\t\t\t\t\tif (isPartOf || isMemberOf) {\r\n\t\t\t\t\t\t\tvar containerURI = isPartOf || isMemberOf || null;\r\n\t\t\t\t\t\t\tvar containerURLPart = isPartOf ? \"competencyframework\" : isMemberOf ? \"collection\" : \"resources\";\r\n\t\t\t\t\t\t\tvar itemCTIDTarget = isPartOf ? \"competencyCTID=\" : isMemberOf ? \"memberCTID=\" : \"targetCTID=\";\r\n\t\t\t\t\t\t\tvar urlFirstPart = getFinderDomainFromRegistryURL(isPartOf) || appURL;\r\n\r\n\t\t\t\t\t\t\titem.href = urlFirstPart + \"/\" + containerURLPart + \"/ce-\" + containerURI.split(\"/ce-\")[1] + \"?\" + itemCTIDTarget + \"=\" + competency[\"ceterms:ctid\"];\r\n\t\t\t\t\t\t\tgetAndRenderByURL(isPartOf, relatedItems, { \"ceterms:name\": { \"en\": \"Error loading resource: \" + isPartOf } }, (container: any) => {\r\n\t\t\t\t\t\t\t\tvar containerNode = document.createElement(\"a\");\r\n\t\t\t\t\t\t\t\tcontainerNode.innerHTML = englishOrNull(container[\"ceasn:name\"]) || englishOrNull(container[\"ceterms:name\"]) || \"Unknown Resource\";\r\n\t\t\t\t\t\t\t\tcontainerNode.href = urlFirstPart + \"/\" + containerURLPart + \"/\" + container[\"ceterms:ctid\"];\r\n\t\t\t\t\t\t\t\tcontainerNode.target = \"_blank\";\r\n\t\t\t\t\t\t\t\titem.parentNode.insertBefore(containerNode, item);\r\n\t\t\t\t\t\t\t\tvar separator = document.createTextNode(\" | \");\r\n\t\t\t\t\t\t\t\titem.parentNode.insertBefore(separator, item);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t//Children\r\n\t\t\tif (competency.HasChild?.length > 0 && (allCompetencies || []).length > 0) {\r\n\t\t\t\tvar children = document.createElement(\"div\");\r\n\t\t\t\tchildren.classList.add(\"competencyChildren\");\r\n\t\t\t\twrapper.appendChild(children);\r\n\t\t\t\tcompetency.HasChild.forEach((childURI) => {\r\n\t\t\t\t\trenderCompetency((allCompetencies || []).filter((m) => { return m.CredentialRegistryURL == childURI })[0], allCompetencies, relatedItems, renderedCompetencies, children, setLocalAJAXCache);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t}, 1);\r\n\t}\r\n}\r\n\r\n//Hack\r\nfunction getFinderDomainFromRegistryURL(registryURL: string): string {\r\n\tvar url = registryURL || \"\";\r\n\treturn url.includes(\"sandbox.credentialengineregistry.org\") ? \"https://sandbox.credentialengine.org/finder\" :\r\n\t\turl.includes(\"staging.credentialengineregistry.org\") ? \"https://staging.credentialengine.org/finder\" :\r\n\t\t\turl.includes(\"localhost\") ? \"http://localhost:3000\" :\r\n\t\t\t\t\"https://credentialfinder.org\";\r\n}\r\n\r\nfunction CompetencyAlignmentList(props: { source: CompetencyType, relatedItems: Array }) {\r\n\tvar competencyAlignments = [] as Array;\r\n\tvar alignmentTypes = [\r\n\t\t{ label: \"Exact Alignment\", property: \"ceasn:exactAlignment\" },\r\n\t\t{ label: \"Prerequisite Alignment\", property: \"ceasn:prerequisiteAlignment\" },\r\n\t\t{ label: \"Broad Alignment\", property: \"ceasn:broadAlignment\" },\r\n\t\t{ label: \"Narrow Alignment\", property: \"ceasn:narrowAlignment\" },\r\n\t\t{ label: \"Major Alignment\", property: \"ceasn:majorAlignment\" },\r\n\t\t{ label: \"Minor Alignment\", property: \"ceasn:minorAlignment\" },\r\n\t\t{ label: \"Knowledge Embodied\", property: \"ceasn:knowledgeEmbodied\" },\r\n\t\t{ label: \"Skill Embodied\", property: \"ceasn:skillEmbodied\" },\r\n\t\t{ label: \"Ability Embodied\", property: \"ceasn:abilityEmbodied\" },\r\n\t\t{ label: \"Align To\", property: \"ceasn:alignTo\" },\r\n\t\t{ label: \"Align From\", property: \"ceasn:alignFrom\" },\r\n\t\t{ label: \"Cross Subject Reference\", property: \"ceasn:crossSubjectReference\" },\r\n\t\t{ label: \"Is Version Of\", property: \"ceasn:isVersionOf\" },\r\n\t];\r\n\r\n\talignmentTypes.forEach(type => {\r\n\t\tvar value = props.source.Meta_JSON[type.property] || [];\r\n\t\tvar list = Array.isArray(value) ? value : [value];\r\n\t\tlist.forEach((alignment: string) => {\r\n\t\t\tvar match = props.relatedItems.filter(item => {\r\n\t\t\t\treturn item[\"@id\"] == alignment\r\n\t\t\t})[0];\r\n\r\n\t\t\tif (!match && alignment.indexOf(\"credentialengineregistry.org/resources/\") > -1) {\r\n\t\t\t\tcompetencyAlignments.push({\r\n\t\t\t\t\tlookup: alignment,\r\n\t\t\t\t\talignmentPrefix: \"\",\r\n\t\t\t\t\talignmentLabel: type.label,\r\n\t\t\t\t\talignmentTerm: type.property,\r\n\t\t\t\t\talignmentPostfix: \":\",\r\n\t\t\t\t\ttargetURL: alignment,\r\n\t\t\t\t\ttargetLabel: <> Loading...\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvar framework = props.relatedItems.filter(item => { return match?.[\"ceasn:isPartOf\"] == item[\"@id\"] })[0];\r\n\t\t\t\tcompetencyAlignments.push(\r\n\t\t\t\t\tmatch ?\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\talignmentPrefix: \"\",\r\n\t\t\t\t\t\t\talignmentLabel: type.label,\r\n\t\t\t\t\t\t\talignmentTerm: type.property,\r\n\t\t\t\t\t\t\talignmentPostfix: \":\",\r\n\t\t\t\t\t\t\ttargetURL: \"/competencyframework/ce-\" + match[\"ceasn:isPartOf\"]?.split(\"/ce-\")[1] + \"?competencyCTID=\" + match[\"ceterms:ctid\"],\r\n\t\t\t\t\t\t\ttargetLabel: englishOrNull(match[\"ceasn:competencyText\"]),\r\n\t\t\t\t\t\t\talignmentFrameworkURL: framework ? \"/competencyframework/\" + framework[\"ceterms:ctid\"] : \"\",\r\n\t\t\t\t\t\t\talignmentFrameworkName: englishOrNull(framework?.[\"ceasn:name\"])\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t:\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\talignmentPrefix: \"External \",\r\n\t\t\t\t\t\t\talignmentLabel: type.label,\r\n\t\t\t\t\t\t\talignmentTerm: type.property,\r\n\t\t\t\t\t\t\talignmentPostfix: \":\",\r\n\t\t\t\t\t\t\ttargetURL: alignment,\r\n\t\t\t\t\t\t\ttargetLabel: alignment\r\n\t\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\talignmentTypes.forEach(type => {\r\n\t\tprops.relatedItems.forEach(relatedItem => {\r\n\t\t\tif (relatedItem[type.property]?.indexOf(props.source.Meta_JSON[\"@id\"]) > -1) {\r\n\t\t\t\tvar framework = props.relatedItems.filter(item => { return relatedItem[\"ceasn:isPartOf\"] == item[\"@id\"] })[0];\r\n\t\t\t\tcompetencyAlignments.push(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\talignmentPrefix: \"Reverse \",\r\n\t\t\t\t\t\talignmentLabel: type.label,\r\n\t\t\t\t\t\talignmentTerm: type.property,\r\n\t\t\t\t\t\talignmentPostfix: \" reference from:\",\r\n\t\t\t\t\t\ttargetURL: \"/competencyframework/ce-\" + relatedItem[\"ceasn:isPartOf\"]?.split(\"/ce-\")[1] + \"?competencyCTID=\" + relatedItem[\"ceterms:ctid\"],\r\n\t\t\t\t\t\ttargetLabel: englishOrNull(relatedItem[\"ceasn:competencyText\"]),\r\n\t\t\t\t\t\talignmentFrameworkURL: framework ? \"/competencyframework/\" + framework[\"ceterms:ctid\"] : \"\",\r\n\t\t\t\t\t\talignmentFrameworkName: englishOrNull(framework?.[\"ceasn:name\"])\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\treturn competencyAlignments.length > 0 && (\r\n\t\t (\r\n\t\t\t\t\r\n\t\t\t\t\t{m.alignmentPrefix}{m.alignmentLabel}{m.alignmentPostfix} {m.alignmentFrameworkURL && {m.alignmentFrameworkName}}{m.alignmentFrameworkURL ? \": \" : \"\"}{m.targetLabel}\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t/>\r\n\t) || null\r\n}\r\n\r\nfunction CompetencyTagList(props: { source: CompetencyType, relatedItems: Array }) {\r\n\tvar data = props.source.Meta_JSON;\r\n\tvar tagTypes = [\r\n\t\t{ label: \"Identifier URL\", value: data[\"ceasn:identifier\"]?.length > 0 && , count: data[\"ceasn:identifier\"]?.length },\r\n\t\t{ label: \"Keyword\", value: data[\"ceasn:conceptKeyword\"] && , count: englishOrNull(data[\"ceasn:conceptKeyword\"])?.length },\r\n\t\t{ label: \"Local Subject\", value: data[\"ceasn:localSubject\"] && , count: englishOrNull(data[\"ceasn:localSubject\"])?.length },\r\n\t\t{ label: \"Concept\", value: data[\"ceasn:conceptTerm\"] && , count: data[\"ceasn:conceptTerm\"]?.length },\r\n\t\t{ label: \"Complexity Level\", value: data[\"ceasn:complexityLevel\"] && , count: data[\"ceasn:complexityLevel\"]?.length },\r\n\t\t{ label: \"Education Level Type\", value: data[\"ceasn:educationLevelType\"] && , count: data[\"ceasn:educationLevelType\"]?.length },\r\n\t\t{ label: \"Environmental Hazard Type\", value: data[\"ceterms:environmentalHazardType\"] && , count: data[\"ceasn:environmentalHazardType\"]?.length },\r\n\t\t{ label: \"Performance Level Type\", value: data[\"ceterms:performanceLevelType\"] && , count: data[\"ceasn:performanceLevelType\"]?.length },\r\n\t\t{ label: \"Physical Capability Type\", value: data[\"ceterms:physicalCapabilityType\"] && , count: data[\"ceasn:physicalCapabilityType\"]?.length },\r\n\t\t{ label: \"Sensory Capability Type\", value: data[\"ceterms:sensoryCapabilityType\"] && , count: data[\"ceasn:sensoryCapabilityType\"]?.length }\r\n\t].filter(m => m.value);\r\n\t/*\r\n\treturn tagTypes.length > 0 && (\r\n\t\t (\r\n\t\t\t\t\r\n\t\t\t\t\t{m.label}:\r\n\t\t\t\t\t{m.value}\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t/>\r\n\t) || null\r\n\t*/\r\n\treturn tagTypes.length > 0 && (\r\n\t\t<>\r\n\t\t\t{tagTypes.map((m, index) => (\r\n\t\t\t\t (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{n}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t/>\r\n\t\t\t))}\r\n\t\t\r\n\t) || null\r\n}\r\n\r\nfunction CredentialAlignmentObjectSet(props: { source: CompetencyType, property: string, label: string }) {\r\n\tvar alignmentObjects = (props.source.Meta_JSON[props.property] || []) as Array;\r\n\treturn alignmentObjects.length > 0 && (\r\n\t\t (\r\n\t\t\t\t\r\n\t\t\t\t\t{(m[\"ceterms:codedNotation\"] || m[\"ceterms:targetNodeName\"] || m[\"ceterms:targetNode\"]) && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{m[\"ceterms:codedNotation\"] &&
    {m[\"ceterms:codedNotation\"]}
    }\r\n\t\t\t\t\t\t\t{m[\"ceterms:targetNodeName\"] &&
    {englishOrNull(m[\"ceterms:targetNodeName\"])}
    }\r\n\t\t\t\t\t\t\t{m[\"ceterms:targetNode\"] && {m[\"ceterms:targetNode\"]}}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{m[\"ceterms:targetNodeDescription\"] && (\r\n\t\t\t\t\t\t{englishOrNull(m[\"ceterms:targetNodeDescription\"])}\r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t))}\r\n\t\t/>\r\n\t) || null\r\n}\r\n\r\nfunction CompetencySubstantiationList(props: { source: CompetencyType }) {\r\n\tvar substantiationTypes = [\r\n\t\t{ label: \"Inferred Competency\", property: \"ceasn:inferredCompetency\", useFinderURL: false },\r\n\t\t{ label: \"Source Documentation\", property: \"ceasn:sourceDocumentation\", useFinderURL: false },\r\n\t\t{ label: \"Substantiating Competency Framework\", property: \"ceasn:substantiatingCompetencyFramework\", useFinderURL: true },\r\n\t\t{ label: \"Substantiating Credential\", property: \"ceasn:substantiatingCredential\", useFinderURL: true },\r\n\t\t{ label: \"Substantiating Job\", property: \"ceasn:substantiatingJob\", useFinderURL: false },\r\n\t\t{ label: \"Substantiating Occupation\", property: \"ceasn:substantiatingOccupation\", useFinderURL: false },\r\n\t\t{ label: \"Substantiating Resource\", property: \"ceasn:substantiatingResource\", useFinderURL: false },\r\n\t\t{ label: \"Substantiating Task\", property: \"ceasn:substantiatingTask\", useFinderURL: false },\r\n\t\t{ label: \"Substantiating Work Role\", property: \"ceasn:substantiatingWorkRole\", useFinderURL: false }\r\n\t].filter(m => (props.source.Meta_JSON[m.property] as any) != undefined);\r\n\r\n\treturn substantiationTypes.length > 0 && (\r\n\t\t (\r\n\t\t\t\t\r\n\t\t\t\t\t{m.label}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(Array.isArray(props.source.Meta_JSON[m.property]) ? props.source.Meta_JSON[m.property] : [props.source.Meta_JSON[m.property]]).map((value: string) => (\r\n\t\t\t\t\t\t\t{m.useFinderURL ? value?.replace(registryURL, appURL) : value}\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t/>\r\n\t) || null\r\n}\r\n\r\nfunction LinkList(props: { items: Array }) {\r\n\treturn props.items?.length > 0 && (\r\n\t\t<>\r\n\t\t\t{props.items.map((item, index) => (\r\n\t\t\t\t{item}\r\n\t\t\t))}\r\n\t\t\r\n\t) || null\r\n}\r\n\r\nfunction ConceptListViaLookup(props: { uris: Array, relatedItems: Array }) {\r\n\tvar uris = props.uris || [] as Array;\r\n\tvar root = (crypto as any).randomUUID();\r\n\r\n\turis.forEach(uri => {\r\n\t\tgetResourceByURLWithoutState(uri, null, (data: any) => {\r\n\t\t\tvar concept = data?.[\"@graph\"]?.find((m: any) => m[\"@type\"] == \"skos:Concept\") || data;\r\n\t\t\tvar schemeURI = Array.isArray(concept[\"skos:inScheme\"]) ? concept[\"skos:inScheme\"][0] : concept[\"skos:inScheme\"] || \"\";\r\n\t\t\tvar renderURL = uri.includes(\"credentialengineregistry.org\") ? (appURL + \"/conceptscheme/ce-\" + schemeURI.split(\"/ce-\")[1] + \"?targetCTID=\" + concept[\"ceterms:ctid\"]) : uri;\r\n\t\t\tvar renderLabel = englishOrNull(concept[\"skos:prefLabel\"]) || renderURL;\r\n\t\t\tvar renderDefinition = englishOrNull(concept[\"skos:definition\"]);\r\n\t\t\t/*\r\n\t\t\tconsole.log(\"Data\", {\r\n\t\t\t\tConcept: concept,\r\n\t\t\t\tUUID: root,\r\n\t\t\t\tURL: uri,\r\n\t\t\t\tRenderURL: renderURL,\r\n\t\t\t\tRenderLabel: renderLabel,\r\n\t\t\t\tRenderDefinition: renderDefinition\r\n\t\t\t});\r\n\t\t\t*/\r\n\t\t\trenderContent(root, uri, 50, (div: any) => {\r\n\t\t\t\tdiv.innerHTML = renderToString(<>{renderLabel}{renderDefinition && \": \"}{renderDefinition && {renderDefinition}});\r\n\t\t\t});\r\n\t\t}, (error: any) => {\r\n\t\t\trenderContent(root, uri, 50, (div: any) => {\r\n\t\t\t\tdiv.innerHTML = \"Error looking up Concept: \" + uri;\r\n\t\t\t});\r\n\t\t})\r\n\t});\r\n\r\n\tfunction renderContent(unique: string, uri: string, attempts: number, renderer: any) {\r\n\t\tif (attempts > 0) {\r\n\t\t\tvar div = document.querySelector(\"[data-unique='\" + unique + \"'][data-uri='\" + uri + \"']\");\r\n\t\t\t//console.log(\"Selector\", \"[data-unique='\" + unique + \"'][data-uri='\" + uri + \"']\");\r\n\t\t\t//console.log(\"Div\", div);\r\n\t\t\tif (div) {\r\n\t\t\t\trenderer(div);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\trenderContent(unique, uri, attempts - 1, renderer);\r\n\t\t\t\t}, 10);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn uris.length > 0 && (\r\n\t\t<>\r\n\t\t\t{uris.map(uri => (\r\n\t\t\t\t
    \r\n\t\t\t))}\r\n\t\t\r\n\t) || null\r\n}\r\n\r\nfunction CompetencyExtraListSimple(props: { values: Array, count: number, label: string }) {\r\n\treturn props.values?.length > 0 && (\r\n\t\t\r\n\t\t\t{props.count > 1 && {props.count} {props.label + \"s\"} }\r\n\t\t\t{props.count == 1 && {props.count} {props.label}}\r\n\t\t\t\r\n\t\t\t\t{props.values}\r\n\t\t\t\r\n\t\t\r\n\t) || null\r\n}\r\n\r\nconst CompetencyListSummary = styled.div`\r\n\tpadding: 5px;\r\n\tfont-weight: bold;\r\n`;\r\n\r\nconst CompetencyPrefix = styled.div`\r\n\tdisplay: flex;\r\n\r\n\t&:empty {\r\n\t\tdisplay: none;\r\n\t}\r\n`;\r\n\r\nconst CompetencyPrefixItem = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: center;\r\n\tfont-size: 12px;\r\n\tmin-width: 50px;\r\n\tmax-width: 150px;\r\n\tword-wrap: break-word;\r\n\tmargin-right: 5px;\r\n\tbackground-color: #F5F5F5;\r\n\tpadding: 5px;\r\n\ttext-align: center;\r\n`;\r\n\r\nconst CompetencyContent = styled.div`\r\n\tdisplay: flex;\r\n\tpadding: 5px 0;\r\n`;\r\n\r\nconst CompetencyBody = styled.div`\r\n\tmargin-left: 5px;\r\n`;\r\n\r\nconst CompetencyLabel = styled.div`\r\n\tfont-weight: bold;\r\n`;\r\n\r\nconst CompetencyText = styled.div`\r\n\r\n`;\r\n\r\nconst Comment = styled.div`\r\n\tfont-style: italic;\r\n\tpadding: 0 10px;\r\n\tfont-size: 90%;\r\n`;\r\n\r\nconst CompetencyCTID = styled.div`\r\n\tpadding: 5px 10px;\r\n\tfont-size: 12px;\r\n\tfont-style: italic;\r\n`;\r\n\r\nconst CompetencyExtras = styled.div`\r\n\tpadding: 5px 0 5px 10px;\r\n`;\r\n\r\nconst CompetencyExtraListWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: baseline;\r\n\tfont-size: 12px;\r\n\tborder-top: 1px dashed #CCC;\r\n\tpadding: 5px 5px;\r\n\r\n`;\r\n\r\nconst CompetencyExtraListSummaryWrapper = styled.div`\r\n\tmin-width: 150px;\r\n\tmargin-right: 10px;\r\n\tpadding: 1px 5px;\r\n`;\r\n\r\nconst CompetencyExtraListSummaryButton = styled.button`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tmin-width: 150px;\r\n\tmargin-right: 10px;\r\n\tborder: none;\r\n\tbackground-color: transparent;\r\n\tfont-size: 12px;\r\n\tpadding: 1px 5px;\r\n\r\n\t& svg {\r\n\t\tmargin-left: auto;\r\n\t}\r\n\r\n\t&:hover, &:focus {\r\n\t\tcursor: pointer;\r\n\t\ttext-decoration: underline;\r\n\t}\r\n`;\r\n\r\nconst CompetencyExtraListValues = styled.div`\r\n\twidth: 100%;\r\n`;\r\n\r\nconst CompetencyExtraListItem = styled.div`\r\n\tpadding: 2.5px 0;\r\n\tborder-top: 1px dashed #CCC;\r\n\r\n\t&:first-child {\r\n\t\tborder: none;\r\n\t}\r\n\r\n\t& a {\r\n\t\tword-break: break-word;\r\n\t}\r\n`;\r\n\r\nconst AlignmentWrapper = styled(CompetencyExtraListItem)`\r\n\r\n`;\r\n\r\nconst AlignmentObjectWrapper = styled(CompetencyExtraListItem)`\r\n\r\n`;\r\n\r\nconst AlignmentObjectHeader = styled.div`\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\r\n\t& > * {\r\n\t\tmargin-right: 10px;\r\n\t}\r\n\r\n\t& a {\r\n\t\tmargin-left: auto;\r\n\t\tmargin-right: 0;\r\n\t}\r\n`;\r\n\r\nconst AlignmentObjectBody = styled.div`\r\n\r\n`;\r\n\r\nconst TagSetWrapper = styled(CompetencyExtraListItem)`\r\n\tdisplay: flex;\r\n`;\r\n\r\nconst TagSetLabel = styled.div`\r\n\tmargin-right: 10px;\r\n`;\r\n\r\nconst TagSetValues = styled.div`\r\n\t> * {\r\n\t\tmargin: 1px 5px;\r\n\t}\r\n`;\r\n\r\nconst ConceptPrefLabel = styled.span`\r\n\r\n`;\r\n\r\nconst ConceptDefinition = styled.span`\r\n\r\n`;\r\n\r\nconst Rights = styled.div`\r\n\tpadding: 10px;\r\n`;\r\n","import React, { ReactNode, useEffect, useRef, useState } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { apiUrl } from '../../shared/globals';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { appURL, appBaseName } from '../../shared/globals';\r\nimport { ConceptScheme, Concept as ConceptType, Outline, Link, AJAXSettings } from '../../types/external';\r\nimport conceptsBannerIcon from '../../assets/images/UpdatedIcons/CE-Icon_18-Concept-Scheme_Blue-Green_High-Res.png';\r\nimport conceptsIcon from '../../assets/images/icons/icon-competencies-blue-green-01.svg';\r\nimport PageBanner from '../../components/DetailPage/PageBanner';\r\nimport {\r\n\tWrapper,\r\n\tFullWidthWrapper,\r\n\tInnerWrapper,\r\n\tDescription,\r\n Label,\r\n Section\r\n} from '../../components/DetailPage/styles';\r\nimport { VStack } from '../../components/Stack';\r\nimport PageSection from '../../components/PageSection';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport { getResourceByURI, englishOrNull, createKeywordSearchLink, getResourceByURLWithoutState } from '../../components/GetResourceByURI';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport SubjectsAndKeywordsPageSection from '../../components/DetailPage/SubjectsAndKeywordsPageSection';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faAngleDown, faAngleRight } from '@fortawesome/free-solid-svg-icons';\r\nimport { renderJSONLDMetaTags } from '../../utils/JSONLDMetaHelper';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\n\r\n\r\ninterface Props {\r\n\tid: string;\r\n\ttargetCTID?: string;\r\n}\r\n\r\nexport default function ConceptSchemePage(props: RouteComponentProps) {\r\n\tconst id = props.match.params.id;\r\n\tconst [dataIsLoading, setDataIsLoading] = useState(true);\r\n\tconst [hasError, setHasError] = useState(false);\r\n\tconst [conceptScheme, setConceptScheme] = useState({} as ConceptScheme);\r\n\tconst [concepts, setConcepts] = useState([] as Array);\r\n\tconst [localAJAXCache, setLocalAJAXCache] = useState([] as Array); //Used to trick react into re-rendering the data\r\n\r\n\t//This is so backwards I hate this\r\n\tconst [publicationStatusText, setPublicationStatusText] = useState(\"\");\r\n\tconst [relatedWorkRoles, setRelatedWorkRoles] = useState({} as AJAXSettings);\r\n\r\n\tuseEffect(() => {\r\n\t\tconsole.log(\"App Name\", appBaseName);\r\n\t\tgetResourceByURI(`${apiUrl}/dsp_conceptscheme/${id}`, setLocalAJAXCache, null, (loaded: any) => {\r\n\t\t\tvar data = loaded.Result;\r\n\t\t\trenderJSONLDMetaTags(data.Resource, \"ConceptScheme\");\r\n\t\t\tsetDataIsLoading(false);\r\n\t\t\tsetConceptScheme(convertDataToConceptScheme(data.Resource || { \"ceasn:name\": \"Missing Concept Scheme\", \"ceasn:description\": \"Unable to find data for identifier: \" + id }, data.Metadata, id, setLocalAJAXCache));\r\n\t\t\tsetConcepts(data.RelatedItems.filter((m: any) => { return m[\"skos:inScheme\"] == data.Resource[\"@id\"] || m[\"ceasn:inProgressionModel\"] == data.Resource[\"@id\"] }).map((m: ConceptType) => { return convertDataToConcept(m, setLocalAJAXCache) }));\r\n\r\n\t\t\tif (conceptScheme.PublicationStatusType) {\r\n\t\t\t\tgetResourceByURLWithoutState(conceptScheme.PublicationStatusType, null, (success: any) => {\r\n\t\t\t\t\tsetPublicationStatusText(englishOrNull(success?.[\"@graph\"]?.[0]?.[\"skos:prefLabel\"]));\r\n\t\t\t\t\tconsole.log(publicationStatusText);\r\n\t\t\t\t}, (error: any) => {\r\n\t\t\t\t\tsetPublicationStatusText(\"Error loading Status: \" + conceptScheme.PublicationStatusType);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\t(error: any) => {\r\n\t\t\tsetHasError(true);\r\n\t\t\tconsole.log(\"Error loading data: \", error);\r\n\t\t});\r\n\t\tnew URLSearchParams(window.location.search).forEach(function (value: string, key: string) {\r\n\t\t\tif (key.toLowerCase() == \"conceptctid\" || key.toLowerCase() == \"targetctid\") {\r\n\t\t\t\tjumpToConceptCTID(value.toLowerCase(), 0);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tfunction jumpToConceptCTID(targetCTID: string, attempts: number) {\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tvar element = document.getElementById(targetCTID);\r\n\t\t\t\tif (element && element.getElementsByClassName(\"conceptContent\").length > 0) {\r\n\t\t\t\t\telement.scrollIntoView();\r\n\t\t\t\t}\r\n\t\t\t\telse if (attempts <= 10) {\r\n\t\t\t\t\tjumpToConceptCTID(targetCTID, attempts + 1);\r\n\t\t\t\t}\r\n\t\t\t}, 500);\r\n\t\t}\r\n\r\n\r\n\t}, [id, localAJAXCache]);\r\n\r\n\tvar topCompetencies = conceptScheme.HasTopConcept?.length > 0 ? conceptScheme.HasTopConcept.map((m) => { return concepts.filter((n) => { return n.CredentialRegistryURL == m })[0] }).filter((m) => { return m }) : concepts;\r\n\tvar typeLabel = widgetGetSingleLabelForText(\"Concept Scheme\");\r\n\tuseEffect(() => {\r\n\t\tconst ctid = conceptScheme.CTID;\r\n\t\tif (ctid != null) {\r\n\t\t\tgetResourceByURLWithoutState(`${apiUrl}/GetRelatedResource/${ctid}/34`, null, (success: any) => {\r\n\t\t\t\tsetRelatedWorkRoles(success.Result);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t}, [conceptScheme]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{conceptScheme.Description || \"No description available\"}\r\n\t\t\t\t\t\t{conceptScheme.Source && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{conceptScheme.Source.map((url) => ())}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{conceptScheme.PublicationStatusType && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{publicationStatusText && {publicationStatusText}}\r\n\t\t\t\t\t\t\t\t{!publicationStatusText &&
    }\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{topCompetencies && topCompetencies.map((concept) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tLabel: \"Details\",\r\n\t\t\t\t\t\t\tContent: (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{(\r\n\t\t\t\t\t\t\t\t\t\t\trelatedWorkRoles?.Total > 0\r\n\t\t\t\t\t\t\t\t\t\t) && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t].filter(m => m.Content != null)}\r\n\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t)\r\n}\r\n\r\nexport function convertDataToConceptScheme(resource: any, metadata: any, id: string, setLocalAJAXCache: any): ConceptScheme {\r\n\treturn {\r\n\t\tBroadType: \"ConceptScheme\",\r\n\t\tCTDLType: \"skos:ConceptScheme\",\r\n\t\tCTDLTypeLabel: \"Concept Scheme\",\r\n\t\tMeta_Id: id,\r\n\t\tCTID: resource[\"ceterms:ctid\"],\r\n\t\tMeta_LastUpdated: metadata?.DateModified || \"Unknown\",\r\n\t\tMeta_LastUpdatedHeader: metadata?.DateModified || \"Unknown\",\r\n\t\tMeta_Language: resource[\"ceasn:inLanguage\"]?.[0] || \"en\",\r\n\t\tName: englishOrNull(resource[\"ceasn:name\"]),\r\n\t\tDescription: englishOrNull(resource[\"ceasn:description\"]),\r\n\t\tSource: Array.isArray(resource[\"ceasn:source\"]) ? resource[\"ceasn:source\"] : [resource[\"ceasn:source\"]],\r\n\t\tInLanguage: resource[\"ceasn:inLanguage\"],\r\n\t\tConceptKeyword: englishOrNull(resource[\"ceasn:conceptKeyword\"])?.map((m: string) => { return createKeywordSearchLink(\"conceptscheme\", m) }),\r\n\t\tConceptTerm: resource[\"ceasn:conceptTerm\"]?.map((m: string) => { return createKeywordSearchLink(\"conceptscheme\", englishOrNull(m)) }),\r\n\t\tCreator: resource[\"ceasn:creator\"]?.map((m: string) => { return getOrganizationOutlineByURI(m, \"creator\", setLocalAJAXCache) }),\r\n\t\tDateCreated: resource[\"ceasn:dateCreated\"],\r\n\t\tDateCopyrighted: resource[\"ceasn:dateCopyrighted\"],\r\n\t\tDateModified: resource[\"ceasn:dateModified\"],\r\n\t\tLicense: resource[\"ceasn:license\"],\r\n\t\tPublicationStatusType: resource[\"ceasn:publicationStatusType\"]?.replace(\"http://\", \"https://\")?.replace(\"publicationStatus:\", \"https://credreg.net/ctdlasn/vocabs/publicationStatus/\"),\r\n\t\tPublisher: resource[\"ceasn:publisher\"]?.map((m: string) => { return getOrganizationOutlineByURI(m, \"publisher\", setLocalAJAXCache) }),\r\n\t\tPublisherName: resource[\"ceasn:publisherName\"] && [englishOrNull(resource[\"ceasn:publisherName\"])],\r\n\t\tRights: resource[\"ceasn:rights\"],\r\n\t\tRightsHolder: resource[\"ceasn:rightsHolder\"] && getOrganizationOutlineByURI(resource[\"ceasn:rightsHolder\"], \"rightsholder\", setLocalAJAXCache),\r\n\t\tCredentialRegistryURL: resource[\"@id\"],\r\n\t\tHasTopConcept: resource[\"skos:hasTopConcept\"],\r\n\t\tRegistryData: { CTID: resource[\"ceterms:ctid\"], Resource: { URL: resource[\"@id\"], Label: \"View Resource\" }, Envelope: { URL: resource[\"@id\"]?.replace(\"/resources/\", \"/envelopes/\"), Label: \"View Envelope\" } },\r\n\t\tMeta_JSON: resource,\r\n\t} as ConceptScheme;\r\n}\r\n\r\n\r\nexport function convertDataToConcept(resource: any, setLocalAJAXCache: any): ConceptType {\r\n\treturn {\r\n\t\tCredentialRegistryURL: resource[\"@id\"],\r\n\t\tCTID: resource[\"ceterms:ctid\"],\r\n\t\tPrefLabel: englishOrNull(resource[\"skos:prefLabel\"]),\r\n\t\tHiddenLabel: englishOrNull(resource[\"skos:hiddenLabel\"]),\r\n\t\tAltLabel: englishOrNull(resource[\"skos:altLabel\"]),\r\n\t\tBroader: resource[\"skos:broader\"],\r\n\t\tBroadMatch: resource[\"skos:broadMatch\"],\r\n\t\tChangeNote: englishOrNull(resource[\"skos:changeNote\"]),\r\n\t\tCloseMatch: resource[\"skos:closeMatch\"],\r\n\t\tExactMatch: resource[\"skos:exactMatch\"],\r\n\t\tInScheme: resource[\"skos:inScheme\"],\r\n\t\tNarrower: resource[\"skos:narrower\"],\r\n\t\tNarrowMatch: resource[\"skos:narrowMatch\"],\r\n\t\tRelated: resource[\"skos:related\"],\r\n\t\tTopConceptOf: resource[\"skos:topConceptOf\"],\r\n\t\tDefinition: englishOrNull(resource[\"skos:definition\"]),\r\n\t\tNotation: resource[\"skos:notation\"],\r\n\t\tRelatedWorkRole: resource[\"ceterms:ctid\"] && getRelatedWorkRole(resource[\"ceterms:ctid\"]),\r\n\t\tNote: englishOrNull(resource[\"skos:note\"]),\r\n\t\tMeta_JSON: resource\r\n\t} as ConceptType;\r\n}\r\n\r\nfunction getOrganizationOutlineByURI(uri: string, temp: string, setLocalAJAXCache: any): Outline {\r\n\tvar data = getResourceByURI(uri, setLocalAJAXCache).Data;\r\n\treturn {\r\n\t\tLabel: englishOrNull(data?.[\"ceterms:name\"]) || ,\r\n\t\tURL: appURL + \"/organization/\" + uri.split(\"/resources/\")[1],\r\n\t\tImage: data?.[\"ceterms:image\"]\r\n\t} as Outline;\r\n}\r\n\r\nfunction getRelatedWorkRole(ctid: string) {\r\n\tvar workroles= null;\r\n\tif (ctid != null) {\r\n\t\tgetResourceByURLWithoutState(`${apiUrl}/GetRelatedResource/${ctid}/34`, null, (success: any) => {\r\n\t\t\tconsole.log(\"Success\",success.Result);\r\n\t\t\tworkroles= success.Result;\r\n\t\t});\r\n\t\treturn workroles;\r\n\t}\r\n}\r\n\r\n\r\n\r\nfunction AlignmentListHelper() {\r\n\twireupExtras();\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\nfunction wireupExtras() {\r\n\tsetTimeout(function () {\r\n\t\tvar items = Array.from(document.querySelectorAll(\".conceptExtraListWrapper:not(.setup)\") || []);\r\n\t\titems.forEach(function (item) {\r\n\t\t\titem.classList.add(\"setup\");\r\n\t\t\titem.querySelector(\".conceptExtraListSummaryButton\")?.addEventListener(\"click\", function () {\r\n\t\t\t\titem.classList.contains(\"expanded\") ? item.classList.remove(\"expanded\") : item.classList.add(\"expanded\");\r\n\t\t\t});\r\n\t\t});\r\n\t\tif (items.length > 0) {\r\n\t\t\twireupExtras();\r\n\t\t}\r\n\t}, 100);\r\n}\r\n\r\nexport function Concept(props: { concept: ConceptType, allConcepts: Array | null }) {\r\n\treturn props.concept && (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{props.concept.Notation && {props.concept.Notation}}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{(props.concept.PrefLabel || props.concept.AltLabel || props.concept.HiddenLabel) && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{props.concept.PrefLabel && {props.concept.PrefLabel}}\r\n\t\t\t\t\t\t\t{props.concept.AltLabel && {props.concept.AltLabel}}\r\n\t\t\t\t\t\t\t{props.concept.HiddenLabel && {props.concept.HiddenLabel}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{props.concept.Definition && {props.concept.Definition}}\r\n\t\t\t\t\t{props.concept.Note && {props.concept.Note}}\r\n\t\t\t\t\t{props.concept.ChangeNote && {props.concept.ChangeNote}}\r\n\t\t\t\t\t{props.concept.CTID && CTID: {props.concept.CTID}}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t m.Meta_JSON) || []} />\r\n\t\t\t\t{props.concept.RelatedWorkRole?.Total > 0 &&\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\t{(props.allConcepts || []).length > 0 && props.concept.Narrower?.length > 0 &&\r\n\t\t\t\t\r\n\t\t\t\t\t{props.concept.Narrower.map((narrowerURI) => (\r\n\t\t\t\t\t\t { return m.CredentialRegistryURL == narrowerURI })[0]} allConcepts={props.allConcepts} key={\"concept-\" + narrowerURI} />\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\r\n\t) || null;\r\n}\r\n\r\nexport function ConceptAlignmentList(props: { source: ConceptType, relatedItems: Array }) {\r\n\tvar conceptAlignments = [] as Array;\r\n\tvar alignmentTypes = [\r\n\t\t{ label: \"Broad Match\", property: \"skos:broadMatch\" },\r\n\t\t{ label: \"Close Match\", property: \"skos:closeMatch\" },\r\n\t\t{ label: \"Exact Match\", property: \"skos:exactMatch\" },\r\n\t\t{ label: \"Narrow Match\", property: \"skos:narrowMatch\" },\r\n\t\t{ label: \"Related\", property: \"skos:related\" }\r\n\t];\r\n\r\n\talignmentTypes.forEach(type => {\r\n\t\t(props.source.Meta_JSON[type.property] || []).forEach((alignment: string) => {\r\n\t\t\tvar match = props.relatedItems.filter(item => {\r\n\t\t\t\treturn item[\"@id\"] == alignment\r\n\t\t\t})[0];\r\n\r\n\t\t\tconceptAlignments.push(\r\n\t\t\t\tmatch ?\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\talignmentPrefix: \"\",\r\n\t\t\t\t\t\talignmentLabel: type.label,\r\n\t\t\t\t\t\talignmentTerm: type.property,\r\n\t\t\t\t\t\talignmentPostfix: \":\",\r\n\t\t\t\t\t\ttargetURL: \"/conceptscheme/ce-\" + match[\"skos:inScheme\"]?.split(\"/ce-\")[1] + \"?conceptCTID=\" + match[\"ceterms:ctid\"],\r\n\t\t\t\t\t\ttargetLabel: englishOrNull(match[\"skos:prefLabel\"])\r\n\t\t\t\t\t}\r\n\t\t\t\t\t:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\talignmentPrefix: \"External \",\r\n\t\t\t\t\t\talignmentLabel: type.label,\r\n\t\t\t\t\t\talignmentTerm: type.property,\r\n\t\t\t\t\t\talignmentPostfix: \":\",\r\n\t\t\t\t\t\ttargetURL: alignment,\r\n\t\t\t\t\t\ttargetLabel: alignment\r\n\t\t\t\t\t}\r\n\t\t\t);\r\n\t\t});\r\n\t});\r\n\r\n\talignmentTypes.forEach(type => {\r\n\t\tprops.relatedItems.forEach(relatedItem => {\r\n\t\t\tif (relatedItem[type.property]?.indexOf(props.source.Meta_JSON[\"@id\"]) > -1) {\r\n\t\t\t\tconceptAlignments.push(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\talignmentPrefix: \"Reverse \",\r\n\t\t\t\t\t\talignmentLabel: type.label,\r\n\t\t\t\t\t\talignmentTerm: type.property,\r\n\t\t\t\t\t\talignmentPostfix: \" reference from:\",\r\n\t\t\t\t\t\ttargetURL: \"/conceptscheme/ce-\" + relatedItem[\"skos:inScheme\"]?.split(\"/ce-\")[1] + \"?conceptCTID=\" + relatedItem[\"ceterms:ctid\"],\r\n\t\t\t\t\t\ttargetLabel: englishOrNull(relatedItem[\"skos:prefLabel\"])\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\treturn conceptAlignments.length > 0 && (\r\n\t\t ( \r\n\t\t\t\t\r\n\t\t\t\t\t{(m.targetURL == m.targetLabel && m.targetURL.indexOf(\"credentialengineregistry.org\") > 0) ?(\r\n\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t<>{m.alignmentPrefix}{m.alignmentLabel}{m.alignmentPostfix} {englishOrNull(conceptSchemeData.data[\"ceasn:name\"])} : {englishOrNull(conceptData.data[\"skos:prefLabel\"])}\r\n\t\t\t\t\t\t\t\t)} /> \r\n\t\t\t\t\t\t)} />\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>{m.alignmentPrefix}{m.alignmentLabel}{m.alignmentPostfix} {m.targetLabel}\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t/>\r\n\t) || null\r\n}\r\n\r\nexport function RelatedWorkRoles(props: { relatedResource: AJAXSettings }) {\r\n\tconst containerRef = useRef(null);\r\n\r\n\tconst toggleVisibility = () => {\r\n\t\tif (containerRef.current) {\r\n\t\t\tif (containerRef.current.style.display === 'none') {\r\n\t\t\t\tcontainerRef.current.style.display = 'block';\r\n\t\t\t\tdocument.getElementById('arrowIconDown')?.setAttribute('style', 'display: none');\r\n\t\t\t\tdocument.getElementById('arrowIconUp')?.setAttribute('style', '');\r\n\t\t\t} else {\r\n\t\t\t\tcontainerRef.current.style.display = 'none';\r\n\t\t\t\tdocument.getElementById('arrowIconDown')?.setAttribute('style', '');\r\n\t\t\t\tdocument.getElementById('arrowIconUp')?.setAttribute('style', 'display: none');\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\treturn props.relatedResource.Total > 0 ? (\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t
      \r\n\t\t\t\t{props.relatedResource.Values.map((m, index) => (\r\n\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{m.Label}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t{m.Description}\r\n\t\t\t\t\t
    • \r\n\t\t\t\t))}\r\n\t\t\t
    \r\n\t\t
    \r\n ) : null;\r\n}\r\n\r\n\r\n//Helper interface for RenderAsyncResource\r\ninterface ResourceData {\r\n\tURL: string,\r\n\tData?: any | null,\r\n\tError?: string | null,\r\n\tTriggered: boolean\r\n}\r\n//Condense multiple requests for the same resource into a single waiter, and only start requesting it when something scrolls into view\r\n//For some reason, the RenderComponent function will receive an extra layer of \"data\" object, so keep that in mind when calling this method\r\nfunction RenderAsyncResource(props: { url: string, RenderComponent: (props: { data: any }) => React.ReactElement, debugFlag?: string }) {\r\n\t//Only used to trigger React to re-render\r\n\tconst [items, setItems] = useState([] as Array);\r\n\t//Stores ref to the rendered spinner\r\n\tconst waiterRef = useRef(null);\r\n\r\n\t//Ensure the window has a ResourceData array regardless of what initialized it\r\n\tif (!(window as any).ResourceData) {\r\n\t\t(window as any).ResourceData = [];\r\n\t}\r\n\r\n\t//Ensure the window has a ScrollHelper array regardless of what initialized it\r\n\tif (!(window as any).ScrollHelper) {\r\n\t\t(window as any).ScrollHelper = [];\r\n\t\t//Efficiently loop through ScrollHelpers on scroll and execute their .run() function if they are active\r\n\t\t(window as any).addEventListener(\"scroll\", function () {\r\n\t\t\tfor (var i = 0; i < (window as any).ScrollHelper.length; i++) {\r\n\t\t\t\t(window as any).ScrollHelper[i].active && (window as any).ScrollHelper[i].run();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t//Initialize the Component when the spinner renders\r\n\tvar checkInterval = 0 as any;\r\n\tuseEffect(() => {\r\n\t\t//If there is a rendered spinner, but the ScrollHelper hasn't been injected into the window's ScrollHelper array yet...\r\n\t\tif (waiterRef.current && !(window as any).ScrollHelper.find((m: any) => m.current == waiterRef.current)) {\r\n\t\t\t//Create a ScrollHelper and inject it\r\n\t\t\tconsole.log(\"Adding waiter ref to scroll listener\");\r\n\t\t\t(window as any).ScrollHelper.push({\r\n\t\t\t\t//Reference to the rendered spinner, used for finding this ScrollHelper later\r\n\t\t\t\tcurrent: waiterRef.current,\r\n\t\t\t\t//Indicates whether or not this ScrollHelper is active - use this instead of removing it from the array so we don't risk accidentally adding it twice in the midst of React's async nonsense\r\n\t\t\t\tactive: true,\r\n\t\t\t\t//Function to run every time window onscroll is checked\r\n\t\t\t\trun: checkScrollPosition\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t//Also force a check periodically to handle things like accordions or things that modify CSS instead of using React's render loop\r\n\t\tclearInterval(checkInterval);\r\n\t\tcheckInterval = setInterval(checkScrollPosition, 500);\r\n\t}, [waiterRef.current]); //Only trigger this init when the spinner changes\r\n\r\n\tfunction checkScrollPosition() {\r\n\t\t//If the rendered spinner is visible on the window...\r\n\t\tvar top = (waiterRef.current?.getBoundingClientRect().top || 0);\r\n\t\tif ((window as any).outerHeight > top && top > 0) {\r\n\t\t\t//Trigger the AJAX call (this will also trigger event handlers for anything else that references that same URL, should be okay enough performance-wise)\r\n\t\t\tloadData();\r\n\t\t\t//Deactivate the ScrollHelper so it doesn't get triggered twice\r\n\t\t\tvar scrollHelper = (window as any).ScrollHelper.find((m: any) => m.current == waiterRef.current);\r\n\t\t\tscrollHelper && (scrollHelper.active = false);\r\n\t\t\t//Clear the periodic checker\r\n\t\t\tclearInterval(checkInterval);\r\n\t\t}\r\n\t}\r\n\r\n\t//Get the ResourceData for the current URL\r\n\tvar resourceDataArray = (window as any).ResourceData as Array;\r\n\tvar resourceData = resourceDataArray.find(m => m.URL == props.url) || { URL: props.url, Triggered: false };\r\n\r\n\t//AJAX load the data\r\n\tfunction loadData() {\r\n\t\t//If the current ResourceData has not already been triggered...\r\n\t\tif (!resourceData.Triggered) {\r\n\t\t\t//Trigger it\r\n\t\t\tresourceData.Triggered = true;\r\n\t\t\tconsole.log(\"loading data\", resourceData.URL);\r\n\t\t\t//Push it into the window's ResourceData array\r\n\t\t\tresourceDataArray.push(resourceData);\r\n\t\t\t//Trigger React to re-render\r\n\t\t\tsetItems([...((window as any).ResourceData as Array)]);\r\n\t\t\t//Fetch the data and handle errors\r\n\t\t\tfetch(resourceData.URL).then(result => {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tif (result.ok) {\r\n\t\t\t\t\t\treturn result.json();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tresourceData = (resourceData as ResourceData);\r\n\t\t\t\t\t\tresourceData.Error = result.statusText;\r\n\t\t\t\t\t\tsetItems([...((window as any).ResourceData as Array)]);\r\n\t\t\t\t\t\tconsole.log(\"Error loading URL\", { debugFlag: props.debugFlag, resourceData: resourceData });\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tcatch (e) {\r\n\t\t\t\t\tresourceData = (resourceData as ResourceData);\r\n\t\t\t\t\tresourceData.Error = (e as any).toString();\r\n\t\t\t\t\tsetItems([...((window as any).ResourceData as Array)]);\r\n\t\t\t\t\tconsole.log(\"Error loading or parsing URL\", { debugFlag: props.debugFlag, resourceData: resourceData });\r\n\t\t\t\t}\r\n\t\t\t}).then(json => {\r\n\t\t\t\tresourceData = (resourceData as ResourceData);\r\n\t\t\t\tresourceData.Data = json;\r\n\t\t\t\tsetItems([...((window as any).ResourceData as Array)]);\r\n\t\t\t\tconsole.log(\"Loaded URL\", { debugFlag: props.debugFlag, resourceData: resourceData });\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t//Return the rendered component if data is present, otherwise return a generic error div if there was an error, otherwise return a spinner if nothing has happened/we're still waiting\r\n\treturn resourceData.Data ? :\r\n\t\tresourceData.Error ?
    Error loading data for {resourceData.URL}
    {resourceData.Error}
    :\r\n\t\t\t
    \r\n}\r\n\r\nexport function ConceptExtraListSimple(props: { values: Array, count: number, label: string }) {\r\n\treturn props.values?.length > 0 && (\r\n\t\t\r\n\t\t\t{props.count > 1 && {props.count} {props.label + \"s\"} }\r\n\t\t\t{props.count == 1 && {props.count} {props.label}}\r\n\t\t\t\r\n\t\t\t\t{props.values}\r\n\t\t\t\r\n\t\t\r\n\t) || null\r\n}\r\n\r\nconst ConceptWrapper = styled.div`\r\n\tpadding: 5px;\r\n\tborder-top: 1px solid #CCC;\r\n`;\r\n\r\nconst ConceptContent = styled.div`\r\n\tdisplay: flex;\r\n\tpadding-left: 10px;\r\n\r\n`;\r\n\r\nconst ConceptPrefix = styled.div`\r\n\r\n`;\r\n\r\nconst ConceptPrefixItem = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: center;\r\n\tfont-size: 12px;\r\n\tmin-width: 50px;\r\n\tmax-width: 150px;\r\n\tword-break: break-word;\r\n\tmargin-right: 5px;\r\n\tbackground-color: #F5F5F5;\r\n\tpadding: 5px;\r\n\ttext-align: center;\r\n`;\r\n\r\nconst ConceptBody = styled.div`\r\n\r\n`;\r\n\r\nconst ChildConcepts = styled.div`\r\n\tpadding-left: 25px;\r\n`;\r\n\r\nconst ConceptName = styled.div`\r\n\tfont-weight: bold;\r\n\r\n\t& span:not(:first-child) {\r\n\t\tborder-left: 1px solid #CCC;\r\n\t\tpadding-left: 10px;\r\n\t\tmargin-left: 10px;\r\n\t}\r\n`;\r\n\r\nconst ConceptDefinition = styled.div`\r\n\t\r\n`;\r\n\r\nconst ConceptNote = styled.div`\r\n\tfont-style: italic;\r\n\tpadding: 0 10px;\r\n\tfont-size: 90%;\r\n`;\r\n\r\nconst ConceptCTID = styled.div`\r\n\tpadding: 5px 10px;\r\n\tfont-size: 12px;\r\n\tfont-style: italic;\r\n`;\r\n\r\nconst ConceptExtras = styled.div`\r\n\tpadding: 5px 0 5px 10px;\r\n`;\r\n\r\nconst ConceptExtraListWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: flex-start;\r\n\tfont-size: 12px;\r\n\tborder-top: 1px dashed #CCC;\r\n\tpadding: 5px 5px;\r\n\r\n`;\r\n\r\nconst ConceptExtraListSummaryWrapper = styled.div`\r\n\tmin-width: 150px;\r\n\tmargin-right: 10px;\r\n\tpadding: 1px 5px;\r\n`;\r\n\r\nconst ConceptExtraListSummaryButton = styled.button`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tmin-width: 150px;\r\n\tmargin-right: 10px;\r\n\tborder: none;\r\n\tbackground-color: transparent;\r\n\tfont-size: 12px;\r\n\tpadding: 1px 5px;\r\n\r\n\t& svg {\r\n\t\tmargin-left: auto;\r\n\t}\r\n\r\n\t&:hover, &:focus {\r\n\t\tcursor: pointer;\r\n\t\ttext-decoration: underline;\r\n\t}\r\n`;\r\n\r\nconst ConceptExtraListValues = styled.div`\r\n\twidth: 100%;\r\n`;\r\n\r\n\r\nconst ConceptExtraListItem = styled.div`\r\n\tpadding: 2.5px 0;\r\n\tborder-top: 1px dashed #CCC;\r\n\r\n\t&:first-child {\r\n\t\tborder: none;\r\n\t}\r\n\r\n\t& a {\r\n\t\tword-break: break-word;\r\n\t}\r\n`;\r\n\r\nconst AlignmentWrapper = styled(ConceptExtraListItem)`\r\n\r\n`;\r\n","import React from 'react';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { Label, Section } from '../../components/DetailPage/styles';\r\nimport { Credential } from '../../types/external';\r\nimport { ModalType } from '../../types/internal';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport { isFilled } from '../../validation';\r\n\r\n\r\ninterface Props {\r\n credential: Credential;\r\n onOpenModalClick: (modalType: ModalType) => () => void;\r\n onCloseModalClick: () => void;\r\n openedModal: ModalType | undefined;\r\n}\r\n\r\nexport default function AboutDetail({\r\n credential,\r\n onOpenModalClick,\r\n onCloseModalClick,\r\n openedModal,\r\n}: Props) {\r\n return (\r\n <>\r\n {credential.CredentialType && (\r\n \r\n \r\n \r\n \r\n )}\r\n {credential.CredentialStatusType && (\r\n \r\n \r\n \r\n \r\n )}\r\n {credential.AudienceType && (\r\n \r\n \r\n \r\n \r\n )}\r\n {credential.AudienceLevelType && (\r\n \r\n \r\n \r\n \r\n )}\r\n {credential.LearningDeliveryType && (\r\n \r\n \r\n \r\n \r\n )}\r\n {credential.AssessmentDeliveryType && (\r\n \r\n \r\n \r\n \r\n )}\r\n\t\t\t{isFilled(credential.DegreeConcentration) && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t\t{isFilled(credential.DegreeMajor) && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t\t{isFilled(credential.DegreeMinor) && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t)}\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { DurationProfile as DurationProfileType } from '../../types/external';\r\nimport TruncatedItemList from '../DetailPage/TruncatedItemList';\r\nimport styled from 'styled-components/macro';\r\n\r\nexport default function DurationProfileList(props: { items: DurationProfileType[], truncateAfter?: number }) {\r\n return ( props.items?.length > 0 &&\r\n\t\t {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t}}\r\n\t\t\ttruncateAfter={props.truncateAfter || 5}\r\n\t\t/>\r\n ) || null\r\n}\r\n\r\nexport function DurationProfile(props: { item: DurationProfileType }) {\r\n\treturn (props.item &&\r\n\t\t\r\n\t\t{ props.item.Description?.length > 0 &&\r\n\t\t\t
    {props.item.Description}
    \r\n\t\t}\r\n\t\t{props.item.DurationSummary?.length > 0 &&\r\n\t\t\t
    \r\n\t\t\t\tEstimated time to complete: \r\n\t\t\t\t{props.item.DurationSummary}\r\n\t\t\t
    \r\n\t\t}\t\t\t\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nconst DurationProfileWrapper = styled.div`\r\n\r\n`;","import React, { ReactElement, ReactNode } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { RevocationProfile as RevocationProfileType } from '../../types/external';\r\nimport { Box, BoxLabel, BoxContent, Section, SectionLabel, SectionContent, SectionContentItem } from './Shared';\r\nimport DateRange from './DateRange';\r\nimport JurisdictionProfileList from './JurisdictionProfile';\r\nimport LinkObject from './LinkObject';\r\n\r\nexport default function CostProfileList(props: { items: RevocationProfileType[] }) {\r\n\treturn (props.items?.length > 0 &&\r\n\t\t
    \r\n\t\t\t{props.items.map((item) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nexport function RevocationProfile(props: { item: RevocationProfileType }) {\r\n\treturn (props.item && \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
    {props.item.Description || \"No Description\"}
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t{props.item.RevocationCriteria?.URL && }\r\n\t\t\t
    \r\n\t\t\t{props.item.Jurisdiction?.length > 0 && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\tJurisdiction Information:\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t)}\r\n\t\t
    \r\n\t) || null\r\n}\r\n\r\nconst RevocationProfileWrapper = styled.div`\r\n\t\r\n`;\r\n\r\nconst BasicInfo = styled(Section)`\r\n\tdisplay: flex;\r\n\r\n\t& > a {\r\n\t\tmargin-left: auto;\r\n\t}\r\n`;","import React, { useContext, useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport styled from 'styled-components/macro';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { apiUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport credentialIcon from '../../assets/images/icons/icon-credentials-white-green-01.svg';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport processIcon from '../../assets/images/icons/icon-process-blue-green-01.svg';\r\nimport costIcon from '../../assets/images/icons/icon-costs-and-time-blue-green-01.svg';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useMediaQuery, useGet } from '../../hooks';\r\nimport { Credential, Assessment, LearningOpportunity, ConditionManifest, CostManifest, ProcessProfile, DataSetProfile, AggregateDataProfile, Link } from '../../types/external';\r\nimport { ModalType } from '../../types/internal';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport {\r\n MobileAboutDetail,\r\n Section,\r\n Wrapper,\r\n Label,\r\n Inline,\r\n\tInlineLabel,\r\n\tDescription\r\n} from '../../components/DetailPage/styles';\r\nimport AboutDetail from './AboutDetail';\r\nimport ConnectionsSection from '../../components/DetailPage/ConnectionsSection';\r\nimport DurationProfileList from '../../components/DetailPage/DurationProfile';\r\nimport FinancialAssistance from '../../components/DetailPage/FinancialAssistance';\r\nimport JurisdictionProfileList from '../../components/DetailPage/JurisdictionProfile';\r\nimport LinkObject, { PlainTextLink } from '../../components/DetailPage/LinkObject';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LocationPageSection from '../../components/DetailPage/LocationPageSection';\r\nimport OccupationsAndIndustriesSection from '../../components/DetailPage/OccupationsAndIndustriesSection';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport PageBanner from '../../components/DetailPage/PageBanner';\r\nimport QualityAssurancePageSection from '../../components/DetailPage/QualityAssurancePageSection';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport RevocationProfileList from '../../components/DetailPage/RevocationProfile';\r\nimport SubjectsAndKeywordsPageSection from '../../components/DetailPage/SubjectsAndKeywordsPageSection';\r\nimport { detailSectionProperties, isCredential } from '../../utils';\r\nimport { isFilled } from '../../validation';\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport ConditionProfileList, { getConditionProfileListButtonName } from '../../components/DetailPage/ConditionProfile';\r\nimport ConditionManifestList from '../../components/DetailPage/ConditionManifest';\r\nimport CostManifestList from '../../components/DetailPage/CostManifest';\r\nimport CostProfileList from '../../components/DetailPage/CostProfile';\r\nimport ProcessProfileList from '../../components/DetailPage/ProcessProfile';\r\nimport { OutcomesDataPageSectionItem } from '../../components/DetailPage/OutcomesDataPageSection';\r\nimport { renderJSONLDMetaTags } from '../../utils/JSONLDMetaHelper';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport { LinkItem } from '../../components/DetailPage/Shared';\r\n\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function CredentialPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [dataIsLoading, hasError, getData] = useGet();\r\n const [pageModel, setCredential] = useState({} as Credential);\r\n const [openedModal, setOpenedModal] = useState();\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n function onOpenModalClick(modalType: ModalType) {\r\n return () => setOpenedModal(modalType);\r\n }\r\n\r\n function onCloseModalClick() {\r\n setOpenedModal(undefined);\r\n }\r\n\r\n useEffect(() => {\r\n getData(`${apiUrl}/credential/${id}`, (data: Credential) => {\r\n\t\t\tsetCredential(data);\r\n\t\t\trenderJSONLDMetaTags(data, \"Credential\");\r\n });\r\n\t}, [getData, id]);\r\n\r\n\tvar typeLabel = widgetGetSingleLabelForText(\"Credential\");\r\n\tvar typeLabelPlural = widgetGetPluralLabelForText(\"Credentials\");\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {pageModel.Description && (\r\n \r\n {pageModel.Description}\r\n \r\n )}\r\n \r\n\t\t\t\t\t\t\t\t{pageModel.AvailableOnlineAt?.length > 0 &&\r\n\t\t\t\t\t\t\t\t\tpageModel.AvailableOnlineAt.map((url) => {\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{pageModel.SubjectWebpage &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{pageModel.InCatalog &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{pageModel.IsNonCredit !== undefined && pageModel.IsNonCredit == true && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tIs Non-Credit :\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t{pageModel.IsNonCredit\r\n\t\t\t\t\t\t\t\t\t\t\t\t? 'true'\r\n\t\t\t\t\t\t\t\t\t\t\t\t: 'false'}\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{(pageModel.LatestVersion?.URL || pageModel.PreviousVersion?.URL || pageModel.NextVersion?.URL || pageModel.Supersedes?.URL || pageModel.SupersededBy?.URL) &&\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\r\n \r\n \r\n {isMobile && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t{isFilled(pageModel.RenewalFrequency) && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    {pageModel.RenewalFrequency}
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t\t\t\t\t/>\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(isFilled(pageModel.CommonCosts) || isFilled(pageModel.EstimatedCost) || isFilled(pageModel.AssessmentCost) || isFilled(pageModel.LearningOpportunityCost) || isFilled(pageModel.FinancialAssistance)) &&\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t 0 ? \"Specific Costs\" : typeLabel + \" Costs\")}\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={pageModel.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={pageModel.EstimatedCost}\r\n\t\t\t\t\t\t\t\t\t\tWrapper={Section}\r\n\t\t\t\t\t\t\t\t\t\tContent={() => }\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\r\n \r\n\t\t\t\t\t\t\t{isFilled(pageModel.EstimatedDuration) && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n {isFilled(pageModel.AssessmentEstimatedDuration) && (\r\n \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{pageModel.AssessmentEstimatedDuration?.Values.map((item: any) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n \r\n )}\r\n {isFilled(pageModel.LearningOpportunityEstimatedDuration) && (\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t{pageModel.LearningOpportunityEstimatedDuration?.Values.map((item: any) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n \r\n\t\t\t\t\t\t\t)}\r\n\r\n \r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n
    \r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\r\n \r\n {pageModel.ProcessStandards && (\r\n \r\n )} \r\n \r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Administration Process\"\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={pageModel.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={pageModel.AdministrationProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Appeal Process\"\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={pageModel.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={pageModel.AppealProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Development Process\"\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={pageModel.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={pageModel.DevelopmentProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Maintenance Process\"\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={pageModel.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={pageModel.MaintenanceProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Complaint Process\"\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={pageModel.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={pageModel.ComplaintProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Review Process\"\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={pageModel.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={pageModel.ReviewProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\tmodalTitle=\"Revocation Process\"\r\n\t\t\t\t\t\t\t\t\t\tresourceTitle={pageModel.Name}\r\n\t\t\t\t\t\t\t\t\t\titems={[]}\r\n\t\t\t\t\t\t\t\t\t\toverrideCount={pageModel.RevocationProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t/>\r\n \r\n \r\n \r\n \r\n\t\t\t\t\t\r\n \r\n
    \r\n
    \r\n\t);\r\n\r\n}\r\n\r\nconst DurationProfileSourceWrapper = styled.div`\r\n\t& .truncatedList {\r\n\t\tpadding-left: 25px;\r\n\t}\r\n`;","export default __webpack_public_path__ + \"static/media/icon-transfer-value-green-blue-01.2e01fd42.svg\";","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport Banner from '../../components/Banner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport {\r\n Description,\r\n FullWidthWrapper,\r\n InnerWrapper,\r\n Label, Section,\r\n Inline,\r\n InlineLabel,\r\n Wrapper\r\n} from '../../components/DetailPage/styles';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { apiUrl, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport { CredentialingAction } from '../../types/external';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport { isFilled } from '../../validation';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport ConditionProfileList, { getConditionProfileListButtonName } from \"../../components/DetailPage/ConditionProfile\";\r\nimport ConnectionsSection from \"../../components/DetailPage/ConnectionsSection\";\r\nimport { ModalType } from '../../types/internal';\r\nimport transferValueIcon from '../../assets/images/icons/icon-transfer-value-green-blue-01.svg';\r\nimport PageBanner from '../../components/DetailPage/PageBanner';\r\nimport pageIcon from '../../assets/images/icons/icon-quality-assurance-blue-green-01.svg';\r\n\r\n\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function CredentialingActionPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n const [pageModel, setPageData] = useState({} as CredentialingAction);\r\n const [openedModal, setOpenedModal] = useState();\r\n const startDate = pageModel.StartDate;\r\n const endDate = pageModel.EndDate;\r\n function onOpenModalClick(modalType: ModalType) {\r\n return () => setOpenedModal(modalType);\r\n }\r\n\r\n function onCloseModalClick() {\r\n setOpenedModal(undefined);\r\n }\r\n function TextItem(props: { label: string, item: string }) {\r\n return (props.item &&\r\n \r\n {props.label}\r\n
    {props.item}
    \r\n
    \r\n ) || null\r\n }\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n useEffect(() => {\r\n getPageData(`${apiUrl}/Action/${id}`, (data: CredentialingAction) => {\r\n setPageData(data);\r\n });\r\n }, [getPageData, id]);\r\n //\r\n\r\n function getSubTitleLink() {\r\n if (pageModel.OwnedByLabel && pageModel.OwnedByLabel.Label) {\r\n return pageModel.OwnedByLabel.URL ?\r\n {pageModel.OwnedByLabel.Label} :\r\n <>{pageModel.OwnedByLabel.Label};\r\n }\r\n return null;\r\n }\r\n\r\n function getLegacyLink() {\r\n if (pageModel.Meta_Id) {\r\n const url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n const mystyle = {\r\n //color: \"rgba(0,0,0,.01)\",\r\n color: \"transparent\",\r\n //backgroundColor: \"rgba(0,0,0,.01)\",\r\n marginLeft: \"10px\"\r\n };\r\n return <>\r\n Legacy\r\n \r\n\r\n }\r\n return null;\r\n }\r\n\r\n var typeLabel = widgetGetSingleLabelForText(\"Quality Assurance Action\");\r\n\r\n return (\r\n \r\n \r\n {/*Last updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}*/}\r\n {/* }*/}\r\n {/*/>*/}\r\n \r\n \r\n \r\n \r\n\r\n {pageModel.Description && (\r\n \r\n \r\n {pageModel.Description}\r\n \r\n \r\n )}\r\n {/*{pageModel.ActionType && (*/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/*)}*/}\r\n {pageModel.EvidenceOfAction &&\r\n \r\n \r\n \r\n }\r\n {pageModel.ActionStatusType && (\r\n \r\n \r\n \r\n \r\n )}\r\n {(pageModel.StartDate || pageModel.EndDate) && (\r\n \r\n \r\n \r\n \r\n )} \r\n\r\n\r\n {/*{pageModel.SubjectWebpage &&*/}\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 {pageModel.Object &&\r\n \r\n \r\n \r\n }\r\n {pageModel.Instrument &&\r\n \r\n \r\n \r\n }\r\n {/*{pageModel.Participant &&*/}\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 React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport pageIcon from '../../assets/images/UpdatedIcons/CE-Icon_8-Outcome-Data_Blue-Green_High-Res.png';\r\nimport Banner from '../../components/Banner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject, { PlainTextLink } from '../../components/DetailPage/LinkObject';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport {\r\n\tDescription,\r\n\tFullWidthWrapper,\r\n\tInline,\r\n\tInlineLabel,\r\n\tInnerWrapper,\r\n\tLabel, \r\n\tWrapper\r\n} from '../../components/DetailPage/styles';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { apiUrl, appURL, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport { DataSetProfile, DataSetService, Link, Observation, ProcessProfile,DataSetDistribution, Dimension, DataSetTimeFrame } from '../../types/external';\r\nimport ProcessProfileList from '../../components/DetailPage/ProcessProfile';\r\nimport processIcon from '../../assets/images/icons/icon-process-blue-green-01.svg';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport ConnectionsSection from \"../../components/DetailPage/ConnectionsSection\";\r\nimport { ModalType } from \"../../types/internal\";\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport { DataSetTimeFrameSingle, DataSetTimeFrameSingleMinimal } from '../../components/DetailPage/DataSetProfile';\r\n\r\n\r\nimport { Box, BoxContent, SectionContent, SectionContentItem } from '../../components/DetailPage/Shared';\r\nimport styled from 'styled-components';\r\nimport { isFilled } from '../../validation';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport PlaceList from '../../components/DetailPage/Place';\r\ninterface Props {\r\n\tid: string;\r\n}\r\n\r\nexport default function DataSetProfilePage(props: RouteComponentProps) {\r\n\tconst id = props.match.params.id;\r\n\tconst [\r\n\t\tpageDataIsLoading,\r\n\t\tpageDataHasError,\r\n\t\tgetPageData,\r\n\t] = useGet();\r\n\tconst [pageModel, setPageData] = useState({} as DataSetProfile);\r\n\tconst isMobile = useMediaQuery({\r\n\t\tquery: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n\t});\r\n\tconst [selectedDimension, setSelectedDimension] = useState({} as Dimension);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetPageData(`${apiUrl}/DataSetProfile/${id}`, (data: DataSetProfile) => {\r\n\t\t\tsetPageData(data);\r\n\t\t});\r\n\t}, [getPageData, id]);\r\n\t//\r\n\tuseEffect(() => {\r\n\t\tif (pageModel?.HasDimension?.length > 0) {\r\n\t\t setSelectedDimension(pageModel.HasDimension[0]);\r\n\t\t}\r\n\t }, [pageModel?.HasDimension]); \r\n\t \r\n\t const handleDimensionChange = (event: any) => {\r\n\t\tconst selectedIndex = Number(event.target.value);\r\n\t\tsetSelectedDimension(pageModel?.HasDimension?.[selectedIndex]);\r\n\t };\r\n\t \r\n\t useEffect(() => {\r\n\t }, [selectedDimension]);\r\n\r\n\tfunction getSubTitleLink() {\r\n\t\tif (pageModel.DataProvider && pageModel.DataProvider.Label) {\r\n\t\t\treturn pageModel.DataProvider.URL ?\r\n\t\t\t\t{pageModel.DataProvider.Label} :\r\n\t\t\t\t<>{pageModel.DataProvider.Label};\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tconst [openedModal, setOpenedModal] = useState();\r\n\r\n\tfunction onOpenModalClick(modalType: ModalType) {\r\n\t\treturn () => setOpenedModal(modalType);\r\n\t}\r\n\r\n\tfunction onCloseModalClick() {\r\n\t\tsetOpenedModal(undefined);\r\n\t}\r\n\r\n\tfunction getLegacyLink() {\r\n\t\tif (pageModel.Meta_Id) {\r\n\t\t\tconst url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n\t\t\tconst mystyle = {\r\n\t\t\t\t//color: \"rgba(0,0,0,.01)\",\r\n\t\t\t\tcolor: \"transparent\",\r\n\t\t\t\t//backgroundColor: \"rgba(0,0,0,.01)\",\r\n\t\t\t\tmarginLeft: \"10px\"\r\n\t\t\t};\r\n\t\t\treturn <>\r\n\t\t\t\tLegacy\r\n\t\t\t\r\n\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvar typeLabel = widgetGetSingleLabelForText(\"Outcome Data\");\r\n\t\r\n\treturn (\r\n\t\t\r\n\r\n\t\t\tLast updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t{pageModel.Description && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{pageModel.Description}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpageModel.About?.length > 0 &&\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t{pageModel.Source &&\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t{pageModel.DataSuppressionPolicy && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    {pageModel.DataSuppressionPolicy}
    \t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{pageModel.SubjectIdentification && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    {pageModel.SubjectIdentification}
    \t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t{pageModel.DistributionFile?.length > 0 &&\r\n\t\t\t\t\t\t\t\tpageModel.DistributionFile.map((url) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t{pageModel.DataSetSpatialCoverage?.length > 0 &&\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{pageModel.DataSetTemporalCoverage && \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{pageModel.DataSetTemporalCoverage?.Name &&\r\n\t\t\t\t\t\t\t\t\t<>
    {pageModel.DataSetTemporalCoverage?.Name}
    \r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t{pageModel.DataSetTemporalCoverage?.Description &&\r\n\t\t\t\t\t\t\t\t\t<>
    {pageModel.DataSetTemporalCoverage?.Description}
    \r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t{pageModel.DataSetTemporalCoverage?.AlternateName &&\r\n\t\t\t\t\t\t\t\t\t<>
    {pageModel.DataSetTemporalCoverage?.AlternateName}
    \r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t{isFilled(pageModel.DataSetTemporalCoverage?.DataSourceCoverageType) && (\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{pageModel.DataSetTemporalCoverage?.StartDate &&\r\n\t\t\t\t\t\t\t\t\t<>
    {pageModel.DataSetTemporalCoverage?.StartDate}
    \r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t{pageModel.DataSetTemporalCoverage?.EndDate &&\r\n\t\t\t\t\t\t\t\t\t<>
    {pageModel.DataSetTemporalCoverage?.EndDate}
    \r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t{pageModel.DataSetTemporalCoverage?.TimeIntervalDisplay &&\r\n\t\t\t\t\t\t\t\t\t<>
    {pageModel.DataSetTemporalCoverage?.TimeIntervalDisplay}
    \r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t 0 &&\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{pageModel.DataSetTimePeriod?.length === 1 &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/*Label: \"Coming Soon!\"*/}\r\n\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tLabel: dataSetProfile.Name || (\"Data Set \" + (index + 1)),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tContent: \r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t)} />\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{pageModel?.HasDimension?.length > 0 ?\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t : null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{pageModel?.HasDimension?.length > 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{selectedDimension && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{selectedDimension.HasPointSummary?.map((point, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{pageModel?.HasMetric?.map((metric, rowIndex) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{selectedDimension?.HasPointSummary?.length > 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedDimension.HasPointSummary.map((point) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst observations = pageModel.HasObservation?.filter(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(obs) => obs.IsObservationOf?.Meta_Id === metric.Meta_Id &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tobs.AtPoints?.some((p) => p.RowId === point.RowId)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpageModel?.HasObservation?.map((observation, obsIndex) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (observation.IsObservationOf?.Meta_Id === metric.Meta_Id) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    Dimensions \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{pageModel?.HasDimension?.length>1 && }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{pageModel?.HasDimension?.length > 1 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{pageModel.HasDimension.map((dim, idx) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {selectedDimension && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{selectedDimension.Name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{selectedDimension.Description && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{selectedDimension.Description}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{selectedDimension.DimenstionType && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{selectedDimension.DimenstionType}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    Metrics \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{point.Label && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLabel: \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{point?.ResourceSummary?.Type && point?.ResourceSummary?.Id > 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{point.Label}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpoint.Label\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{point.Type && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPoint Type: {point.Type}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{metric.Name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{metric?.CTID && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCTID: {metric?.CTID}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{metric?.MetricType && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMetric Type: {metric.MetricType[0]?.Label}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{metric?.Description && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDescription: {metric?.Description}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{observations?.length > 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tobservations.map((observation, obsIndex) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{renderObservation(observation, point.EntityTypeId, pageModel.DataSetTimePeriod)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{obsIndex < observations.length - 1 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{renderObservation(observation,0, pageModel.DataSetTimePeriod)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t) || null\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tLabel: \"Data Sets\",\r\n\t\t\t\t\t\t\tContent: (\r\n\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\tpageModel.DataSetTimePeriodHistoricalData?.length > 0 &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/*Label: \"Coming Soon!\"*/}\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tLabel: dataSetProfile.Name || (\"Data Set \" + (index + 1) ),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tContent: \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) || null\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tLabel: \"Details\",\r\n\t\t\t\t\t\t\tContent: (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodalTitle={pageModel.AdministrationProcess?.Label}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tresourceTitle={pageModel.Name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={pageModel.AdministrationProcess?.Values}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toverrideCount={pageModel.AdministrationProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodalTitle={pageModel.DevelopmentProcess?.Label}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tresourceTitle={pageModel.Name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={pageModel.DevelopmentProcess?.Values}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toverrideCount={pageModel.DevelopmentProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodalTitle={pageModel.MaintenanceProcess?.Label}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tresourceTitle={pageModel.Name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={pageModel.MaintenanceProcess?.Values}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toverrideCount={pageModel.MaintenanceProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t (} />)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodalTitle={pageModel.ReviewProcess?.Label}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tresourceTitle={pageModel.Name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={pageModel.ReviewProcess?.Values}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toverrideCount={pageModel.ReviewProcess?.Total}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{pageModel.HasDataSetDistribution &&\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t{pageModel.HasDataSetService &&\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t]}\r\n\t\t\t\t/>\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n}\r\n\r\nexport function DataSetDistributionComponent(props: { items: DataSetDistribution[], Name:string }) {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const toggleModal = () => setIsOpen(!isOpen);\r\n\r\n return (\r\n
    \r\n {props.items?.length > 0 && (\r\n (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{props.items.map((item, index) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t\t\t\t{item.DistributionFile && }\r\n\t\t\t\t\t\t\t\t\t{item.License.length > 0 && item.License.map((license: string, licenseIndex: number) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t{item.Source.length > 0 && item.Source.map((source: string, sourceIndex: number) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)} />\r\n )}\r\n
    \r\n );\r\n}\r\n\r\nexport function DataSetServiceComponent(props: { items: DataSetService[], Name:string }) {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const toggleModal = () => setIsOpen(!isOpen);\r\n\r\n return (\r\n
    \r\n {props.items?.length > 0 && (\r\n (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{props.items.map((item, index) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t\t\t\t
    {data}
    } />\r\n\t\t\t\t\t\t\t\t\t{item.SubjectWebpage && }\r\n\t\t\t\t\t\t\t\t\t{item.License.length > 0 && item.License.map((license: string, licenseIndex: number) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)} />\r\n )}\r\n
    \r\n );\r\n}\r\nfunction LinkItem(props: { label: string, item: any }) {\r\n\tif (!props.item) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvar link = typeof (props.item) == \"string\" ? ({ Label: props.item, URL: props.item } as Link) : (props.item as Link);\r\n\treturn (link.URL &&\r\n\t\t\r\n\t\t\t{props.label}\r\n\t\t\t\r\n\t\t\r\n\t) || null\r\n}\r\nconst renderObservation = (obs: Observation, pointType: number, timeframes: DataSetTimeFrame[]) => (\r\n\t<>\r\n\t {obs?.Comment && (\r\n\t\t\r\n\t\t Comment: {obs.Comment}\r\n\t\t\r\n\t )}\r\n\t {obs?.Value && (\r\n\t\t\r\n\t\tValue: \r\n\t\t {obs.Currency \r\n\t\t? `${obs.CurrencySymbol}${Intl.NumberFormat('en-US', { \r\n\t\t\tminimumFractionDigits: 2, \r\n\t\t\tmaximumFractionDigits: 2 \r\n\t\t\t}).format(obs.Value)} ${obs.Currency}`\r\n\t\t: obs.Value\r\n\t\t}\r\n\t\t\r\n\t )}\r\n\t {obs?.Percentage && (\r\n\t\t\r\n\t\t Percentage: {obs.Percentage}%\r\n\t\t\r\n\t )}\r\n\t{obs?.Median && (\r\n\t\r\n\t\tMedian: \r\n\t\t{obs.Currency \r\n\t\t? `${obs.CurrencySymbol}${Intl.NumberFormat('en-US', { \r\n\t\t\tminimumFractionDigits: 2, \r\n\t\t\tmaximumFractionDigits: 2 \r\n\t\t\t}).format(obs.Median)} ${obs.Currency}`\r\n\t\t: obs.Median\r\n\t\t}\r\n\t\r\n\t)}\r\n\t {obs?.DataWithholdingType?.Label && (\r\n\t\t\r\n\t\t Data Withholding Type: {obs.DataWithholdingType.Label}\r\n\t\t\r\n\t )}\r\n\t {obs?.Percentile10 && (\r\n\t\t\r\n\t\t Percentile 10: {obs.Percentile10}\r\n\t\t\r\n\t )}\r\n\t {obs?.Percentile25 && (\r\n\t\t\r\n\t\t Percentile 25: {obs.Percentile25}\r\n\t\t\r\n\t )}\r\n\t {obs?.Percentile75 && (\r\n\t\t\r\n\t\t Percentile 75: {obs.Percentile75}\r\n\t\t\r\n\t )}\r\n\t {obs?.Percentile90 && (\r\n\t\t\r\n\t\t Percentile 90: {obs.Percentile90}\r\n\t\t\r\n\t )}\r\n\t {obs?.SizeOfData && (\r\n\t\t\r\n\t\t Size Of Data: {obs.SizeOfData}\r\n\t\t\r\n\t )}\r\n\t {obs?.SizeOfPopulation && (\r\n\t\t\r\n\t\t Size Of Population: {obs.SizeOfPopulation}\r\n\t\t)}\r\n\t {obs?.AtPoints && obs.AtPoints.length > 0 && (\r\n\t\tobs.AtPoints.map((point, pointIndex) => {\r\n\t\t if (point.EntityTypeId !== pointType) {\r\n\t\t\tconst matchingTimeframe = \r\n\t\t\t timeframes?.length > 0 \r\n\t\t\t\t? timeframes.find((timeframe) => timeframe.Name === point.Name)\r\n\t\t\t\t: null;\r\n\t \r\n\t\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t{point.Name && (\r\n\t\t\t\t \r\n\t\t\t\t\t{point?.Type}: {point?.Name}\r\n\t\t\t\t\t{matchingTimeframe && (\r\n\t\t\t\t\t <>\r\n\t\t\t\t\t\t{matchingTimeframe.AlternateName && (\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\tAlternate Name: {matchingTimeframe.AlternateName}\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{matchingTimeframe.Description && (\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\tDescription: {matchingTimeframe.Description}\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{matchingTimeframe.StartDate && (\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\tStart Date: {matchingTimeframe.StartDate}\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{matchingTimeframe.EndDate && (\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\tEnd Date: {matchingTimeframe.EndDate}\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{matchingTimeframe.TimeIntervalDisplay && (\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\tTime Interval: {matchingTimeframe.TimeIntervalDisplay}\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t \r\n\t\t\t\t\t)}\r\n\t\t\t\t \r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t\t);\r\n\t\t }\r\n\t\t return null;\r\n\t\t})\r\n\t )}\r\n\t \r\n\t\r\n );\r\n \r\n \r\nconst TextDisplay = styled.div`\r\npadding: 0 10px;\r\nfont-size: 90%;\r\n`;\r\nconst styles: { [key: string]: React.CSSProperties } = {\r\n\ttableContainer: {\r\n\t\tborderCollapse: 'collapse',\r\n\t},\r\n\theaderCell: {\r\n\t\tborder: '0.5px solid #ddd',\r\n\t\tpadding: '4px',\r\n\t\ttextAlign: 'left',\r\n\t\tverticalAlign: 'top',\r\n\t\tbackgroundColor: '#DCFAF9',\r\n\t\twidth: '550px',\r\n\t\tfontWeight: 'normal',\r\n\r\n\t},\r\n\tdataCell: {\r\n\t\tborder: '1px solid #ddd',\r\n\t\tpadding: '4px',\r\n\t\ttextAlign: 'left',\r\n\t\tverticalAlign: 'top',\r\n\t\twidth: '550px',\r\n\t},\r\n\tcell: {\r\n\t\tborder: '1px solid #ddd', \r\n\t\tpadding: '4px',\r\n\t\tverticalAlign: 'top',\r\n\t\ttextAlign: 'left',\r\n\t},dropdown: {\r\n\t\twidth: '50%',\r\n\t\tborder: '1px solid #ddd',\r\n\t\tpadding: '4px',\r\n\t\ttextAlign: 'left',\r\n\t\tbackgroundColor: 'white',\r\n\t\tfontSize: 'inherit',\r\n\t\tfontWeight: 'normal',\r\n\t\tborderRadius:'8px'\r\n\t }\r\n};\r\n//\r\n","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport pageIcon from '../../assets/images/UpdatedIcons/CE-Icon_12-Industries_Blue-Green_High-Res.png';\r\nimport Banner from '../../components/Banner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport {Label,Section,\r\n Description,\r\n Wrapper\r\n} from '../../components/DetailPage/styles';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { apiUrl, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport {Industry } from '../../types/external';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport OccupationsAndIndustriesSection from '../../components/DetailPage/OccupationsAndIndustriesSection';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport ConnectionsSection from '../../components/DetailPage/ConnectionsSection';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport { ModalType } from '../../types/internal';\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function IndustryPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n const [pageModel, setPageData] = useState({} as Industry);\r\n const [openedModal, setOpenedModal] = useState();\r\n\r\n function onOpenModalClick(modalType: ModalType) {\r\n return () => setOpenedModal(modalType);\r\n }\r\n\r\n function onCloseModalClick() {\r\n setOpenedModal(undefined);\r\n }\r\n \r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n useEffect(() => {\r\n getPageData(`${apiUrl}/Industry/${id}`, (data: Industry) => {\r\n debugger;\r\n setPageData(data);\r\n });\r\n }, [getPageData, id]);\r\n //\r\n\r\n function getSubTitleLink() {\r\n if (pageModel.OwnedByLabel && pageModel.OwnedByLabel.Label) {\r\n return pageModel.OwnedByLabel.URL ?\r\n {pageModel.OwnedByLabel.Label} :\r\n <>{pageModel.OwnedByLabel.Label};\r\n }\r\n return null;\r\n }\r\n\r\n function getLegacyLink() {\r\n if (pageModel.Meta_Id) {\r\n const url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n const mystyle = {\r\n //color: \"rgba(0,0,0,.01)\",\r\n color: \"transparent\",\r\n //backgroundColor: \"rgba(0,0,0,.01)\",\r\n marginLeft: \"10px\"\r\n };\r\n return <>\r\n Legacy\r\n \r\n\r\n }\r\n return null;\r\n }\r\n\r\n var typeLabel = widgetGetSingleLabelForText(\"Industry\");\r\n\r\n return (\r\n \r\n\r\n Last updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {pageModel.Description && (\r\n \r\n \r\n {pageModel.Description}\r\n \r\n \r\n )}\r\n {pageModel.LifeCycleStatusType && (\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {pageModel.SubjectWebpage &&\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 hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n//\r\n","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport pageIcon from '../../assets/images/UpdatedIcons/CE-Icon_13-Jobs_Blue-Green_High-Res.png';\r\nimport costIcon from '../../assets/images/icons/icon-costs-and-time-blue-green-01.svg';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport Banner from '../../components/Banner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport {\r\n Description,\r\n FullWidthWrapper,\r\n InnerWrapper,\r\n Label, Section,\r\n Wrapper\r\n} from '../../components/DetailPage/styles';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { apiUrl, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport { Job } from '../../types/external';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport { isFilled } from '../../validation';\r\nimport ConditionProfileList, { getConditionProfileListButtonName } from \"../../components/DetailPage/ConditionProfile\";\r\nimport ConnectionsSection from \"../../components/DetailPage/ConnectionsSection\";\r\nimport { ModalType } from '../../types/internal';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport SubjectsAndKeywordsPageSection from '../../components/DetailPage/SubjectsAndKeywordsPageSection';\r\nimport OccupationsAndIndustriesSection from '../../components/DetailPage/OccupationsAndIndustriesSection';\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport { CompetencyFrameworkList } from '../../components/DetailPage/CompetencyFramework';\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function JobPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n\tconst [pageModel, setPageData] = useState({} as Job);\r\n\tconst [openedModal, setOpenedModal] = useState();\r\n\r\n function onOpenModalClick(modalType: ModalType) {\r\n return () => setOpenedModal(modalType);\r\n }\r\n\r\n function onCloseModalClick() {\r\n setOpenedModal(undefined);\r\n }\r\n\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n useEffect(() => {\r\n getPageData(`${apiUrl}/Job/${id}`, (data: Job) => {\r\n setPageData(data);\r\n });\r\n }, [getPageData, id]);\r\n //\r\n\r\n function getSubTitleLink() {\r\n if (pageModel.OwnedByLabel && pageModel.OwnedByLabel.Label) {\r\n return pageModel.OwnedByLabel.URL ?\r\n {pageModel.OwnedByLabel.Label} :\r\n <>{pageModel.OwnedByLabel.Label};\r\n }\r\n return null;\r\n }\r\n\r\n function getLegacyLink() {\r\n if (pageModel.Meta_Id) {\r\n const url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n const mystyle = {\r\n //color: \"rgba(0,0,0,.01)\",\r\n color: \"transparent\",\r\n //backgroundColor: \"rgba(0,0,0,.01)\",\r\n marginLeft: \"10px\"\r\n };\r\n return <>\r\n Legacy\r\n \r\n\r\n }\r\n return null;\r\n }\r\n\t\r\n\tvar typeLabel = widgetGetSingleLabelForText(\"Job\");\r\n\r\n return (\r\n \r\n\r\n Last updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {pageModel.Description && (\r\n \r\n \r\n {pageModel.Description}\r\n \r\n \r\n )}\r\n\r\n\r\n {pageModel.SubjectWebpage &&\r\n \r\n \r\n \r\n }\r\n \r\n {pageModel.LifeCycleStatusType && (\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {pageModel.Classification &&\r\n \r\n \r\n {pageModel.Classification.Values.map((item, index) => (\r\n
    \r\n {item.URL ? (\r\n \r\n {item.Label}\r\n \r\n ) : (\r\n {item.Label}\r\n )}\r\n \r\n {item.Description}\r\n \r\n
    \r\n ))}\r\n
    \r\n }\r\n {pageModel.InCatalog &&\r\n \r\n }\r\n \r\n\t\t\t\t\t\r\n \r\n \r\n \r\n \r\n \r\n {/* }\r\n\t\t\t\t\t\t\t\t\t/>*/}\r\n }\r\n />\r\n {/* }\r\n\t\t\t\t\t\t\t\t\t/>*/}\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\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n \r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n {/* }*/}\r\n {/* hideCount={true}*/}\r\n {/*/>*/}\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n\t\t\t\t />\r\n }\r\n hideCount={true}\r\n />\r\n\t\t\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {isFilled(pageModel.SameAs) && (\r\n \r\n \r\n {pageModel.SameAs.map((url) => (\r\n
    \r\n {url}\r\n
    \r\n ))}\r\n
    \r\n )}\r\n \r\n )\r\n }\r\n ].filter(m => m.Content != null)}\r\n />\r\n
    \r\n \r\n );\r\n}\r\n//\r\n","export default __webpack_public_path__ + \"static/media/icon-learning-opportunities-white-green-01.13923617.svg\";","import React, { useContext, useRef, useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport {\r\n MobileAboutDetail,\r\n Description,\r\n Wrapper,\r\n Inline,\r\n InlineLabel,\r\n Section,\r\n} from '../../components/DetailPage/styles';\r\nimport { apiUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport opportunityIcon from '../../assets/images/icons/icon-learning-opportunities-white-green-01.svg';\r\nimport courseIcon from '../../assets/images/UpdatedIcons/CE-Icon_3-Course_Blue-Green_High-Res.png';\r\nimport learningProgramIcon from '../../assets/images/UpdatedIcons/CE-Icon_3-Course_Blue-Green_High-Res.png';\r\n\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useMediaQuery, useGet } from '../../hooks';\r\nimport { ModalType } from '../../types/internal';\r\nimport { LearningOpportunity } from '../../types/external';\r\nimport { isFilled } from '../../validation';\r\nimport AboutDetail from '../AssessmentPage/AboutDetail';\r\nimport OccupationsAndIndustriesSection from '../../components/DetailPage/OccupationsAndIndustriesSection';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport SubjectsAndKeywordsPageSection from '../../components/DetailPage/SubjectsAndKeywordsPageSection';\r\nimport QualityAssurancePageSection from '../../components/DetailPage/QualityAssurancePageSection';\r\nimport LocationPageSection from '../../components/DetailPage/LocationPageSection';\r\nimport PageBanner from '../../components/DetailPage/PageBanner';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport CostsAndTimePageSection from '../../components/DetailPage/CostsAndTimePageSection';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport ConnectionsSection from '../../components/DetailPage/ConnectionsSection';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport { OutcomesDataPageSectionItem } from '../../components/DetailPage/OutcomesDataPageSection';\r\nimport { renderJSONLDMetaTags } from '../../utils/JSONLDMetaHelper';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText, widgetReplacePluralLabelInText } from '../../utils/SiteWidgetizer';\r\nimport ConditionProfileList, { getConditionProfileListButtonName } from '../../components/DetailPage/ConditionProfile';\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function LearningOpportunityPage(\r\n props: RouteComponentProps,\r\n) {\r\n const id = props.match.params.id;\r\n const [\r\n opportunityDataIsLoading,\r\n opportunityDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n const [opportunity, setOpportunity] = useState({} as LearningOpportunity);\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n const [openedModal, setOpenedModal] = useState();\r\n\r\n function onOpenModalClick(modalType: ModalType) {\r\n return () => setOpenedModal(modalType);\r\n }\r\n\r\n function onCloseModalClick() {\r\n setOpenedModal(undefined);\r\n }\r\n\r\n useEffect(() => {\r\n getPageData(\r\n `${apiUrl}/learningopportunity/${id}`,\r\n (data: LearningOpportunity) => {\r\n\t\t\t\tsetOpportunity(data);\r\n\t\t\t\trenderJSONLDMetaTags(data, \"LearningOpportunity\");\r\n },\r\n );\r\n }, [getPageData, id]);\r\n\r\n var typeLabel = widgetGetSingleLabelForText(opportunity.CTDLTypeLabel, \"Learning Opportunity\");\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {opportunity.Description && (\r\n \r\n {opportunity.Description}\r\n \r\n )}\r\n \r\n {opportunity.AvailableOnlineAt?.length > 0 &&\r\n opportunity.AvailableOnlineAt.map((url) => {\r\n \r\n })\r\n }\r\n {opportunity.SubjectWebpage &&\r\n \r\n }\r\n {opportunity.InCatalog &&\r\n \r\n }\r\n {opportunity.IsNonCredit !== undefined && opportunity.IsNonCredit == true && (\r\n \r\n Is Non-Credit :\r\n
    \r\n {opportunity.IsNonCredit\r\n ? 'true'\r\n : 'false'}\r\n
    \r\n
    \r\n )}\r\n
    \r\n\t\t\t\t\t\t\t\r\n \r\n \r\n {isMobile && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t }\r\n />\r\n }\r\n />\r\n }\r\n />\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n \r\n \r\n\t\t\t\t\t\r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport pageIcon from '../../assets/images/UpdatedIcons/CE-Icon_22-Metrics_Blue-Green_High-Res.png';\r\nimport Banner from '../../components/Banner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport {\r\n Description,\r\n Label,\r\n Section,\r\n Wrapper\r\n} from '../../components/DetailPage/styles';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { apiUrl, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport {Metric } from '../../types/external';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport { isFilled } from '../../validation';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\n\r\n\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function MetricPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n const [pageModel, setPageData] = useState({} as Metric);\r\n\r\n \r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n useEffect(() => {\r\n getPageData(`${apiUrl}/Metric/${id}`, (data: Metric) => {\r\n debugger;\r\n setPageData(data);\r\n });\r\n }, [getPageData, id]);\r\n //\r\n\r\n function getSubTitleLink() {\r\n if (pageModel.OwnedByLabel && pageModel.OwnedByLabel.Label) {\r\n return pageModel.OwnedByLabel.URL ?\r\n {pageModel.OwnedByLabel.Label} :\r\n <>{pageModel.OwnedByLabel.Label};\r\n }\r\n return null;\r\n }\r\n\r\n function getLegacyLink() {\r\n if (pageModel.Meta_Id) {\r\n const url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n const mystyle = {\r\n //color: \"rgba(0,0,0,.01)\",\r\n color: \"transparent\",\r\n //backgroundColor: \"rgba(0,0,0,.01)\",\r\n marginLeft: \"10px\"\r\n };\r\n return <>\r\n Legacy\r\n \r\n\r\n }\r\n return null;\r\n }\r\n\r\n var typeLabel = widgetGetSingleLabelForText(\"Metric\");\r\n\r\n return (\r\n \r\n\r\n Last updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {pageModel.Description && (\r\n \r\n \r\n {pageModel.Description}\r\n \r\n \r\n )}\r\n\t\t\t\t\t\t\t {pageModel.EmploymentDefinition && (\r\n \r\n\t\t\t\t\t\t\t\t\t \r\n \r\n {pageModel.EmploymentDefinition}\r\n \r\n \r\n )}\r\n\t\t\t\t\t\t\t {pageModel.EarningsThreshold && (\r\n \r\n\t\t\t\t\t\t\t\t\t \r\n \r\n {pageModel.EarningsThreshold}\r\n \r\n \r\n )}\r\n\t\t\t\t\t\t\t {pageModel.EarningsDefinition && (\r\n \r\n\t\t\t\t\t\t\t\t\t \r\n \r\n {pageModel.EarningsDefinition}\r\n \r\n \r\n )}\r\n\t\t\t\t\t\t\t {pageModel.Adjustment && (\r\n \r\n\t\t\t\t\t\t\t\t\t \r\n \r\n {pageModel.Adjustment}\r\n \r\n \r\n )}\r\n\t\t\t\t\t\t\t{pageModel.LifeCycleStatusType && (\r\n \r\n \r\n \r\n \r\n )}\r\n\t\t\t\t\t\t\t {isFilled(pageModel.MetricType) && (\r\n \r\n \r\n \r\n \r\n )}\r\n\t\t\t\t\t\t\t {isFilled(pageModel.IncomeDeterminationType) && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n\r\n {pageModel.SubjectWebpage &&\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 {pageModel.DataSetProfiles?.Values && \r\n \r\n \r\n }\r\n hideCount={true}\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 React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport costIcon from '../../assets/images/icons/icon-costs-and-time-blue-green-01.svg';\r\nimport pageIcon from '../../assets/images/UpdatedIcons/CE-Icon_11-Occupations_Blue-Green_High-Res.png';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport Banner from '../../components/Banner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport {\r\n Description,\r\n FullWidthWrapper,\r\n InnerWrapper,\r\n Label, Section,\r\n Wrapper\r\n} from '../../components/DetailPage/styles';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { apiUrl, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport { Occupation } from '../../types/external';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport { isFilled } from '../../validation';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport SubjectsAndKeywordsPageSection from '../../components/DetailPage/SubjectsAndKeywordsPageSection';\r\nimport OccupationsAndIndustriesSection from '../../components/DetailPage/OccupationsAndIndustriesSection';\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport ConditionProfileList, { getConditionProfileListButtonName } from \"../../components/DetailPage/ConditionProfile\";\r\nimport ConnectionsSection from \"../../components/DetailPage/ConnectionsSection\";\r\nimport { ModalType } from '../../types/internal';\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport { CompetencyFrameworkList } from '../../components/DetailPage/CompetencyFramework';\r\n\r\n\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function OccupationPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n const [pageModel, setPageData] = useState({} as Occupation);\r\n const [openedModal, setOpenedModal] = useState();\r\n\r\n function onOpenModalClick(modalType: ModalType) {\r\n return () => setOpenedModal(modalType);\r\n }\r\n\r\n function onCloseModalClick() {\r\n setOpenedModal(undefined);\r\n }\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n useEffect(() => {\r\n getPageData(`${apiUrl}/Occupation/${id}`, (data: Occupation) => {\r\n setPageData(data);\r\n });\r\n }, [getPageData, id]);\r\n console.log(pageModel);\r\n //\r\n\r\n function getSubTitleLink() {\r\n if (pageModel.OwnedByLabel && pageModel.OwnedByLabel.Label) {\r\n return pageModel.OwnedByLabel.URL ?\r\n {pageModel.OwnedByLabel.Label} :\r\n <>{pageModel.OwnedByLabel.Label};\r\n }\r\n return null;\r\n }\r\n\r\n function getLegacyLink() {\r\n if (pageModel.Meta_Id) {\r\n const url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n const mystyle = {\r\n //color: \"rgba(0,0,0,.01)\",\r\n color: \"transparent\",\r\n //backgroundColor: \"rgba(0,0,0,.01)\",\r\n marginLeft: \"10px\"\r\n };\r\n return <>\r\n Legacy\r\n \r\n\r\n }\r\n return null;\r\n }\r\n\t\r\n\tvar typeLabel = widgetGetSingleLabelForText(\"Occupation\");\r\n\r\n return (\r\n \r\n\r\n Last updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {pageModel.Description && (\r\n \r\n \r\n {pageModel.Description}\r\n \r\n \r\n )}\r\n\r\n\r\n {pageModel.SubjectWebpage &&\r\n \r\n \r\n \r\n }\r\n {pageModel.LifeCycleStatusType && (\r\n \r\n \r\n \r\n \r\n )}\r\n {pageModel.Classification &&\r\n \r\n \r\n {pageModel.Classification.Values.map((item, index) => (\r\n
    \r\n {item.URL ? (\r\n \r\n {item.Label}\r\n \r\n ) : (\r\n {item.Label}\r\n )}\r\n \r\n {item.Description}\r\n \r\n
    \r\n ))}\r\n
    \r\n }\r\n {pageModel.InCatalog &&\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\t\t\t\t\t\t\t\t\t/>*/}\r\n }\r\n />\r\n {/* }\r\n\t\t\t\t\t\t\t\t\t/>*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\t\t\t\t\t{/**/}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n {/* }*/}\r\n {/* hideCount={true}*/}\r\n {/*/>*/}\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n \r\n }\r\n hideCount={true}\r\n />\r\n\r\n }\r\n hideCount={true}\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 {isFilled(pageModel.SameAs) && (\r\n \r\n \r\n {pageModel.SameAs.map((url) => (\r\n
    \r\n {url}\r\n
    \r\n ))}\r\n
    \r\n )}\r\n \r\n )\r\n }\r\n ].filter(m => m.Content != null)}\r\n />\r\n
    \r\n \r\n );\r\n}\r\n//\r\n","export default __webpack_public_path__ + \"static/media/icon-pathways-green-blue-01.0f9f31ac.svg\";","export default __webpack_public_path__ + \"static/media/icon-pathways-white-green-01.0fbe6c74.svg\";","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport partOfIcon from '../../assets/images/icons/icon-pathways-green-blue-01.svg';\r\nimport pageIcon from '../../assets/images/icons/icon-pathways-white-green-01.svg';\r\nimport Banner from '../../components/Banner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport {\r\n Description,\r\n FullWidthWrapper,\r\n InnerWrapper,\r\n Label, Section,\r\n Wrapper\r\n} from '../../components/DetailPage/styles';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { apiUrl, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport { PathwayComponent } from '../../types/external';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport { isFilled } from '../../validation';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\n\r\n\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function PathwayComponentPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n const [pageModel, setPageData] = useState({} as PathwayComponent);\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n\tconsole.log(\"test\");\r\n\tuseEffect(() => {\r\n\t\tconsole.log(\"using effect\");\r\n getPageData(`${apiUrl}/PathwayComponent/${id}`, (data: PathwayComponent) => {\r\n setPageData(data);\r\n });\r\n }, [getPageData, id]);\r\n //\r\n\r\n function getSubTitleLink() {\r\n if (pageModel.OwnedByLabel && pageModel.OwnedByLabel.Label) {\r\n return pageModel.OwnedByLabel.URL ?\r\n {pageModel.OwnedByLabel.Label} :\r\n <>{pageModel.OwnedByLabel.Label};\r\n }\r\n return null;\r\n }\r\n\r\n function getLegacyLink() {\r\n if (pageModel.Meta_Id) {\r\n const url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n const mystyle = {\r\n //color: \"rgba(0,0,0,.01)\",\r\n color: \"transparent\",\r\n //backgroundColor: \"rgba(0,0,0,.01)\",\r\n marginLeft: \"10px\"\r\n };\r\n return <>\r\n Legacy\r\n \r\n\r\n }\r\n return null;\r\n }\r\n\r\n var typeLabel = widgetGetSingleLabelForText(\"Pathway Component\");\r\n\r\n return (\r\n \r\n\r\n Last updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {pageModel.Description && (\r\n \r\n \r\n {pageModel.Description}\r\n \r\n \r\n )}\r\n\r\n\r\n {pageModel.SubjectWebpage &&\r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n {pageModel.Pathway &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n//","import React, { useEffect, useState } from 'react';\r\nimport axios from 'axios';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport InnerHTML from 'dangerously-set-html-content';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport pageIcon from '../../assets/images/icons/icon-pathways-white-green-01.svg';\r\nimport styled from 'styled-components/macro';\r\nimport Error from '../../components/Error';\r\nimport { legacySourceUrl } from '../../shared/globals';\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function PathwayPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [loading, setLoading] = useState(false);\r\n const [pageContent, setPageContent] = useState(' ');\r\n const [error, setError] = useState(false);\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n const url1 = `https://sandbox.credentialengine.org/finder/pathway/${id}?coreonly=true`;\r\n\t\tconst url = `${legacySourceUrl}/pathway/${id}?coreonly=true`;\r\n axios\r\n .get(url)\r\n .then((res) => {\r\n setPageContent(res.data);\r\n setLoading(false);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n setError(true);\r\n setLoading(false);\r\n });\r\n }, []);\r\n if (loading) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n if (error) {\r\n return ;\r\n }\r\n return ;\r\n}\r\n\r\nconst LoadingIndicatorWrapper = styled.div`\r\n text-align: center;\r\n padding: 50px;\r\n`;\r\n","import React, { useEffect, useState } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { apiUrl } from '../../shared/globals';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { appURL } from '../../shared/globals';\r\nimport {\r\n\tPathway as PathwayType,\r\n\tPathwayComponent as PathwayComponentType,\r\n\tComponentCondition as ComponentConditionType,\r\n\tIdentifierValue as IdentifierValueType,\r\n\tValueProfile as ValueProfileType,\r\n\tConceptScheme,\r\n\tConcept,\r\n\tLink,\r\n\tOutline,\r\n\tAJAXSettingsOutline\r\n} from '../../types/external';\r\nimport { ModalType } from '../../types/internal';\r\nimport pathwaysBannerIcon from '../../assets/images/icons/icon-pathways-white-green-01.svg';\r\nimport pathwaysIcon from '../../assets/images/icons/icon-pathways-green-blue-01.svg';\r\nimport PageBanner from '../../components/DetailPage/PageBanner';\r\nimport {\r\n\tWrapper,\r\n\tFullWidthWrapper,\r\n\tInnerWrapper,\r\n\tDescription,\r\n\tLabel\r\n} from '../../components/DetailPage/styles';\r\nimport { VStack } from '../../components/Stack';\r\nimport PageSection from '../../components/PageSection';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport { getResourceByURI, englishOrNull, createKeywordSearchLink } from '../../components/GetResourceByURI';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport SubjectsAndKeywordsPageSection from '../../components/DetailPage/SubjectsAndKeywordsPageSection';\r\nimport OccupationsAndIndustriesSection from '../../components/DetailPage/OccupationsAndIndustriesSection';\r\nimport { renderJSONLDMetaTags } from '../../utils/JSONLDMetaHelper';\r\n\r\n\r\ninterface Props {\r\n\tid: string;\r\n\ttargetCTID?: string;\r\n}\r\n\r\nexport default function PathwayPageV2(props: RouteComponentProps) {\r\n\tconst id = props.match.params.id;\r\n\tconst [dataIsLoading, setDataIsLoading] = useState(true);\r\n\tconst [hasError, setHasError] = useState(false);\r\n\tconst [pathway, setPathway] = useState({} as PathwayType);\r\n\tconst [components, setComponents] = useState([] as Array);\r\n\tconst [progressionModel, setProgressionModel] = useState([] as Array);\r\n\tconst [progressionLevels, setProgressionLevels] = useState([] as Array);\r\n\tconst [localAJAXCache, setLocalAJAXCache] = useState([] as Array); //Used to trick react into re-rendering the data\r\n\r\n\tuseEffect(() => {\r\n\t\tgetResourceByURI(`${apiUrl}/dsp_pathway/${id}`, setLocalAJAXCache, null, (loaded: any) => {\r\n\t\t\tvar data = loaded.Result;\r\n\t\t\tsetDataIsLoading(false);\r\n\t\t\tsetPathway(convertDataToPathway(data.Resource || { \"ceterms:name\": \"Missing Pathway\", \"ceterms:description\": \"Unable to find data for identifier: \" + id }, data.Metadata));\r\n\t\t\trenderJSONLDMetaTags(data.Resource, \"Pathway\");\r\n\t\t\tconsole.log(\"Pathway\", pathway);\r\n\t\t\tsetComponents(data.RelatedItems.filter((m: any) => { return m[\"ceasn:isPartOf\"] == data.Resource[\"@id\"] }).map((m: PathwayComponentType) => { return convertDataToPathwayComponent(m) }));\r\n\t\t},\r\n\t\t(error: any) => {\r\n\t\t\tsetHasError(true);\r\n\t\t\tconsole.log(\"Error loading data: \", error);\r\n\t\t});\r\n\t}, [id, localAJAXCache]);\r\n\r\n\tfunction convertDataToPathway(resource: any, metadata: any): PathwayType {\r\n\t\tconsole.log(\"Converting resource to pathway\", resource);\r\n\t\treturn {\r\n\t\t\tBroadType: \"Pathway\",\r\n\t\t\tCTDLType: \"ceterms:Pathway\",\r\n\t\t\tCTDLTypeLabel: \"Pathway\",\r\n\t\t\tMeta_Id: id,\r\n\t\t\tMeta_Language: resource[\"ceasn:inLanguage\"]?.[0] || \"en\",\r\n\t\t\tMeta_LastUpdated: metadata?.LastUpdated || \"Unknown\",\r\n\t\t\tMeta_LastUpdatedHeader: metadata?.LastUpdated || \"Unknown\",\r\n\t\t\tCTID: resource[\"ceterms:ctid\"],\r\n\t\t\tName: englishOrNull(resource[\"ceterms:name\"]),\r\n\t\t\tDescription: englishOrNull(resource[\"ceterms:description\"]),\r\n\t\t\tSubjectWebpage: resource[\"ceterms:subjectWebpage\"],\r\n\t\t\tSubject: resource[\"ceterms:subject\"]?.map((m: string) => { return createKeywordSearchLink(\"pathway\", englishOrNull(m)) }),\r\n\t\t\tKeyword: resource[\"ceterms:keyword\"]?.map((m: string) => { return createKeywordSearchLink(\"pathway\", englishOrNull(m)) }),\r\n\t\t\tOwnedBy: resource[\"ceterms:ownedBy\"] && { Values: resource[\"ceterms:ownedBy\"]?.map((m: string) => { return getOrganizationOutlineByURI(m) }) } as AJAXSettingsOutline,\r\n\t\t\tOfferedBy: resource[\"ceterms:offeredBy\"] && { Values: resource[\"ceterms:offeredBy\"]?.map((m: string) => { return getOrganizationOutlineByURI(m) }) } as AJAXSettingsOutline,\r\n\t\t\tHasProgressionModel: resource[\"asn:hasProgressionModel\"], //Should use the same data conversion process as concept schemes\r\n\t\t\tCredentialRegistryURL: resource[\"@id\"],\r\n\t\t\tHasDestinationComponent: resource[\"ceterms:hasDestinationComponent\"],\r\n\t\t\tRegistryData: { CTID: resource[\"ceterms:ctid\"], Resource: { URL: resource[\"@id\"], Label: \"View Resource\" }, Envelope: { URL: resource[\"@id\"]?.replace(\"/resources/\", \"/envelopes/\"), Label: \"View Envelope\" } },\r\n\t\t\tMeta_JSON: resource\r\n\t\t} as PathwayType;\r\n\t}\r\n\r\n\tfunction convertDataToPathwayComponent(resource: any): PathwayComponentType {\r\n\t\treturn {\r\n\t\t\tBroadType: \"PathwayComponent\",\r\n\t\t\tCTDLType: resource[\"@type\"],\r\n\t\t\tCTDLTypeLabel: englishOrNull(lookupFromSchema(resource[\"@type\"])?.[\"rdfs:label\"]),\r\n\t\t\tCredentialRegistryURL: resource[\"@id\"],\r\n\t\t\tCTID: resource[\"ceterms:ctid\"],\r\n\t\t\tName: englishOrNull(resource[\"ceterms:name\"]),\r\n\t\t\tDescription: englishOrNull(resource[\"ceterms:description\"]),\r\n\t\t\tHasProgressionLevel: resource[\"ceterms:hasProgressionLevel\"],\r\n\t\t\tIsDestinationComponentOf: resource[\"ceterms:isDestinationComponentOf\"],\r\n\t\t\tComponentCategory: englishOrNull(resource[\"ceterms:componentCategory\"]),\r\n\t\t\tComponentDesignation: englishOrNull(resource[\"ceterms:componentDesignation\"]),\r\n\t\t\tIdentifier: resource[\"ceterms:identifier\"]?.map((m: any) => { return convertDataToIdentifierValue(m) }),\r\n\t\t\tHasCondition: resource[\"ceterms:hasCondition\"]?.map((m: any) => { return convertDataToComponentCondition(m) }),\r\n\t\t\tPointValue: resource[\"ceterms:pointValue\"],\r\n\t\t\tPrecedes: resource[\"ceterms:precedes\"],\r\n\t\t\tPrerequisite: resource[\"ceterms:prerequisite\"],\r\n\t\t\tSourceData: resource[\"ceterms:sourceData\"],\r\n\t\t\tSubjectWebpage: resource[\"ceterms:subjectWebpage\"],\r\n\t\t\tProgramTerm: englishOrNull(resource[\"ceterms:programTerm\"]),\r\n\t\t\tCreditValue: resource[\"ceterms:creditValue\"]?.map((m: any) => { return convertDataToValueProfile(m) }),\r\n\t\t\tMeta_JSON: resource\r\n\t\t} as any;\r\n\t}\r\n\r\n\tfunction convertDataToComponentCondition(resource: any): ComponentConditionType | null {\r\n\t\treturn !resource ? null : {\r\n\t\t\tName: englishOrNull(resource[\"ceterms:name\"]),\r\n\t\t\tDescription: englishOrNull(resource[\"ceterms:description\"]),\r\n\t\t\tRequiredNumber: resource[\"ceterms:requiredNumber\"],\r\n\t\t\tTargetComponent: resource[\"ceterms:targetComponent\"],\r\n\t\t\tMeta_JSON: resource\r\n\t\t} as ComponentConditionType;\r\n\t}\r\n\r\n\tfunction convertDataToIdentifierValue(resource: any): IdentifierValueType | null {\r\n\t\treturn !resource ? null : {\r\n\t\t\tIdentifierType: resource[\"ceterms:identifierType\"],\r\n\t\t\tIdentifierTypeName: englishOrNull(resource[\"ceterms:identifierTypeName\"]),\r\n\t\t\tIdentifierValueCode: resource[\"ceterms:identifierValueCode\"]\r\n\t\t} as IdentifierValueType;\r\n\t}\r\n\r\n\tfunction convertDataToValueProfile(resource: any): ValueProfileType | null {\r\n\t\treturn !resource ? null : {\r\n\t\t\tDescription: englishOrNull(resource[\"schema:description\"]),\r\n\t\t\tMaxValue: resource[\"schema:maxValue\"],\r\n\t\t\tMinValue: resource[\"schema:minValue\"],\r\n\t\t\tValue: resource[\"schema:value\"],\r\n\t\t\tPercentage: resource[\"qdata:percentage\"],\r\n\t\t\tSubject: resource[\"ceterms:subject\"]?.map((m: any) => { return convertDataToLink(m) }),\r\n\t\t\tCreditLevelType: resource[\"ceterms:subject\"]?.map((m: any) => { return convertDataToLink(m) }),\r\n\t\t\tCreditUnitType: resource[\"ceterms:subject\"]?.map((m: any) => { return convertDataToLink(m) }),\r\n\t\t} as ValueProfileType;\r\n\t}\r\n\r\n\tfunction convertDataToLink(resource: any): Link | null {\r\n\t\treturn !resource ? null : {\r\n\t\t\tLabel: englishOrNull(resource[\"ceterms:targetNodeName\"] || resource[\"skos:prefLabel\"] || resource[\"ceterms:name\"] || resource[\"ceasn:name\"])\r\n\t\t} as Link;\r\n\t}\r\n\r\n\tfunction lookupFromSchema(url: string) {\r\n\t\t//Temporary\r\n\t\treturn {\r\n\t\t\t\"rdfs:label\": { \"en\": url }\r\n\t\t};\r\n\t}\r\n\r\n\tfunction getOrganizationOutlineByURI(uri: string): Outline {\r\n\t\tvar data = getResourceByURI(uri, setLocalAJAXCache).Data;\r\n\t\treturn {\r\n\t\t\tLabel: englishOrNull(data?.[\"ceterms:name\"]) || ,\r\n\t\t\tURL: appURL + \"/organization/\" + uri.split(\"/resources/\")[1],\r\n\t\t\tImage: data?.[\"ceterms:image\"]\r\n\t\t} as Outline;\r\n\t}\r\n\r\n\tvar destinationComponent = (pathway.HasDestinationComponent ?\r\n\t\tcomponents.filter((m) => { return m.CredentialRegistryURL == pathway.HasDestinationComponent })[0] :\r\n\t\tcomponents.filter((m: any) => { return m.IsDestinationComponentOf == pathway.CredentialRegistryURL })[0]) ||\r\n\t\t{ Name: \"No Destination\", Description: \"No destination component was indicated for this pathway.\" } as PathwayComponentType;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{pathway.Description || \"No description available\"}\r\n\t\t\t\t\t\t{pathway.SubjectWebpage && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{destinationComponent && }\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tLabel: \"Details\",\r\n\t\t\t\t\t\t\tContent: (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t].filter(m => m.Content != null)}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nfunction PathwayComponent(props: { pathwayComponent: PathwayComponentType, allPathwayComponents: Array }) {\r\n\treturn props.pathwayComponent && (\r\n\t\t\r\n\t\t\t{props.pathwayComponent.Name && {props.pathwayComponent.Name}}\r\n\t\t\t\r\n\t\t\t\t{props.pathwayComponent.Description &&
    {props.pathwayComponent.Description}
    }\r\n\t\t\t\t{props.pathwayComponent.HasCondition?.length > 0 &&\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{props.pathwayComponent.HasCondition.map((componentCondition, index) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t
    \r\n\t\t
    \r\n\t) || null;\r\n}\r\n\r\nfunction ComponentCondition(props: { componentCondition: ComponentConditionType, allPathwayComponents: Array }) {\r\n\treturn props.componentCondition && (\r\n\t\t\r\n\t\t\t{props.componentCondition.Name &&
    {props.componentCondition.Name}
    }\r\n\t\t\t{props.componentCondition.Description &&
    {props.componentCondition.Description}
    }\r\n\t\t
    \r\n\t) || null;\r\n}\r\n\r\nconst PathwayComponentWrapper = styled.div`\r\n\tpadding: 5px;\r\n\r\n\t&:not(:last-child) {\r\n\t\tborder-bottom: 1px solid #CCC;\r\n\t}\r\n`;\r\n\r\nconst PathwayComponentName = styled.div`\r\n\tfont-weight: bold;\r\n`;\r\n\r\nconst PathwayComponentContent = styled.div`\r\n\tpadding-left: 10px;\r\n`;\r\n\r\nconst ComponentConditionList = styled.div`\r\n\tpadding-left: 25px;\r\n`;\r\n\r\nconst ComponentConditionWrapper = styled.div`\r\n\t\r\n`;","import React, { useEffect, useState } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport { apiUrl, appURL, registryURL } from '../../shared/globals';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport PageBanner from '../../components/DetailPage/PageBanner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport { Description, Section, Label, Wrapper, FullWidthWrapper, InnerWrapper } from '../../components/DetailPage/styles';\r\nimport { VStack } from '../../components/Stack';\r\nimport pathwaysBannerIcon from '../../assets/images/icons/icon-pathways-white-green-01.svg';\r\nimport pathwaysIcon from '../../assets/images/icons/icon-pathways-green-blue-01.svg';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport { LinkItem } from '../../components/DetailPage/Shared';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport RelatedOrganizationPageSection, { RelatedOrganizationPageSectionAJAXResourceList } from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport SubjectsAndKeywordsPageSection from '../../components/DetailPage/SubjectsAndKeywordsPageSection';\r\nimport OccupationsAndIndustriesSection from '../../components/DetailPage/OccupationsAndIndustriesSection';\r\nimport AJAXResourceList, { createElement, getEnglish, renderText, renderLink, renderImage, renderElement, getResourceViaResourceCacheV3, getDetailPageHeaderModifiedDate, renderOutline, lookupSchema, appendAJAXCacheV3ResourceRaw } from '../../components/AJAXResourceList';\r\nimport { getResourceByURI, createKeywordSearchLink, createKeywordSearchLinkListFromCredentialAlignmentObjectList, createReferenceFrameworkFromCredentialAlignmentObject } from '../../components/GetResourceByURI';\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport { renderJSONLDMetaTags } from '../../utils/JSONLDMetaHelper';\r\nimport {\r\n\tPathway as PathwayType,\r\n\tPathwayComponent as PathwayComponentType,\r\n\tComponentCondition as ComponentConditionType,\r\n\tIdentifierValue as IdentifierValueType,\r\n\tValueProfile as ValueProfileType,\r\n\tConceptScheme,\r\n\tConcept as ConceptType,\r\n\tLink,\r\n\tOutline,\r\n\tAJAXSettingsOutline,\r\n PathwayComponent\r\n} from '../../types/external';\r\nimport AJAXModal from '../../components/Modal/AJAXModal';\r\nimport { Concept, convertDataToConceptScheme, convertDataToConcept } from '../ConceptSchemePage';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport DisplayPills from '../../components/PillDisplay';\r\n\r\ninterface Props {\r\n\tid: string;\r\n\ttargetCTID?: string;\r\n}\r\n\r\nexport default function PathwayPageV3(props: RouteComponentProps) {\r\n\tconst id = props.match.params.id;\r\n\tconst [dataIsLoading, setDataIsLoading] = useState(true);\r\n\tconst [hasError, setHasError] = useState(false);\r\n\tconst [rawPathwayData, setRawPathwayData] = useState({} as any);\r\n\tconst [pageModel, setPathway] = useState({} as PathwayType);\r\n\tconst [relatedItemsMap, setRelatedItemsMap] = useState({} as any);\r\n\tconst [graph, setGraph] = useState([] as Array);\r\n\tconst [progressionModelData, setProgressionModelData] = useState({} as ConceptScheme);\r\n\tconst [progressionLevelsData, setProgressionLevelsData] = useState([] as Array)\r\n\tconst [localAJAXCache, setLocalAJAXCache] = useState([] as Array); //Used to trick react into re-rendering the data\r\n\tconst [supportServiceData, setSupportServiceData] = useState([] as Array);\r\n\tconst [supportServiceWrapper, setSupportServiceWrapper] = useState({} as AJAXSettingsOutline);\r\n\tconst [externalComponents, setExternalComponents] = useState([] as PathwayComponent[]);\r\n\r\n\r\n\tvar rawPathwayDataNow = {} as any;\r\n\tvar rawExtraDataNow = {} as any;\r\n\tvar supportServices = [] as Array;\r\n\tuseEffect(() => {\r\n\t\tgetResourceByURI(`${apiUrl}/dsp_pathway/${id}?includeRelatedResources=false&includeGraphData=true&perBranchLimit=-1`, setLocalAJAXCache, null, (loaded: any) => {\r\n\t\t\t//Get data\r\n\t\t\trawPathwayDataNow = loaded.Result.Resource;\r\n\t\t\trawExtraDataNow = loaded.Extra;\r\n\t\t\trenderJSONLDMetaTags(rawPathwayDataNow, \"Pathway\");\r\n\t\t\tsetRawPathwayData(loaded.Result.Resource); //Takes extra rendering cycles for some stupid reason so double assign it\r\n\t\t\tvar metadata = loaded.Result.Metadata || {};\r\n\t\t\tvar relatedItemsMapData = loaded.Result.RelatedItemsMap || {};\r\n\t\t\tvar graphItemsData = loaded.Result.RelatedItems || [] as Array;\r\n\t\t\tsetDataIsLoading(false);\r\n\t\t\tsetPathway(convertDataToPathway(rawPathwayDataNow || { \"ceterms:name\": \"Missing Pathway\", \"ceterms:description\": \"Unable to find data for identifier: \" + id } as any, metadata, rawExtraDataNow));\r\n\r\n\t\t\tsetGraph(graphItemsData);\r\n\t\t\tsetRelatedItemsMap(relatedItemsMapData);\r\n\t\t\tconsole.log(\"Detail Data\", { Pathway: pageModel, Graph: graph, GraphNow: loaded.Result.RelatedItems });\r\n\r\n\t\t\t//Get owner for header\r\n\t\t\tif (!pageModel.OwnedByLabel && rawPathwayDataNow[\"ceterms:ownedBy\"]) {\r\n\t\t\t\tgetResourceViaResourceCacheV3(rawPathwayDataNow[\"ceterms:ownedBy\"]?.[0], (data: any) => {\r\n\t\t\t\t\tpageModel.OwnedByLabel = {\r\n\t\t\t\t\t\tLabel: getEnglish(data?.[\"ceterms:name\"]),\r\n\t\t\t\t\t\tURL: appURL + \"/resources/\" + data[\"ceterms:ctid\"]\r\n\t\t\t\t\t} as Link;\r\n\r\n\t\t\t\t\tvar updatedPathway = convertDataToPathway(rawPathwayDataNow || { \"ceterms:name\": \"Missing Pathway\", \"ceterms:description\": \"Unable to find data for identifier: \" + id } as any, metadata, rawExtraDataNow);\r\n\t\t\t\t\tsetPathway({...updatedPathway, OwnedByLabel: pageModel.OwnedByLabel});\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t//Get Progression Model\r\n\t\t\tif (!progressionModelData.CTID && rawPathwayDataNow[\"asn:hasProgressionModel\"]) {\r\n\t\t\t\tgetResourceViaResourceCacheV3(rawPathwayDataNow[\"asn:hasProgressionModel\"].replace(\"/resources/\", \"/graph/\"), (data: any) => {\r\n\t\t\t\t\tconsole.log(\"Got Progression Model Data\", data);\r\n\t\t\t\t\tvar progressionModel = data[\"@graph\"]?.find((m: any) => m[\"@type\"] == \"asn:ProgressionModel\");\r\n\t\t\t\t\tvar progressionLevels = data[\"@graph\"]?.filter((m: any) => m[\"@type\"] == \"asn:ProgressionLevel\");\r\n\r\n\t\t\t\t\tsetProgressionModelData(convertDataToConceptScheme(progressionModel, null, \"\", setLocalAJAXCache));\r\n\r\n\t\t\t\t\t//Forcibly convert the data because React can't handle it\r\n\t\t\t\t\tprogressionLevels.forEach((level: any) => {\r\n\t\t\t\t\t\tif (!progressionLevelsData.find(m => m.CredentialRegistryURL == level[\"@id\"])) {\r\n\t\t\t\t\t\t\tvar convertedConcept = convertDataToConcept(level, setLocalAJAXCache);\r\n\t\t\t\t\t\t\tprogressionLevelsData.push(convertedConcept);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tsetProgressionLevelsData([...progressionLevelsData]);\r\n\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t//Get Support Services\r\n\t\t\tif (!pageModel.HasSupportService && rawPathwayDataNow[\"ceterms:hasSupportService\"]?.length > 0) {\r\n\t\t\t\tpageModel.HasSupportService = { Values: [{Label: \"test\"}] as Array } as AJAXSettingsOutline;\r\n\t\t\t\t(rawPathwayDataNow[\"ceterms:hasSupportService\"] || []).forEach((serviceURI: string) => {\r\n\t\t\t\t\tvar holder = {} as Outline;\r\n\t\t\t\t\tpageModel.HasSupportService.Values.push(holder);\r\n\t\t\t\t\tsupportServices.push(holder);\r\n\t\t\t\t\tgetResourceViaResourceCacheV3(serviceURI, (data: any) => {\r\n\t\t\t\t\t\tconsole.log(\"Got support service data\", data);\r\n\t\t\t\t\t\tholder.Label = getEnglish(data[\"ceterms:name\"]) || \"Unnamed Support Service\";\r\n\t\t\t\t\t\tholder.Description = getEnglish(data[\"ceterms:description\"]) || \"No Description\";\r\n\t\t\t\t\t\tholder.URL = appURL + \"/resources/\" + data[\"ceterms:ctid\"];\r\n\t\t\t\t\t\t//setSupportServiceData([...supportServiceData, holder]);\r\n\t\t\t\t\t\tconsole.log(\"Support\", supportServices);\r\n\t\t\t\t\t\tsetSupportServiceWrapper({ ...pageModel.HasSupportService, Values: [...supportServices] }); //Have to do this to get around react's stupid garbage architecture\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\t\t(error: any) => {\r\n\t\t\t\tsetHasError(true);\r\n\t\t\t\tconsole.log(\"Error loading data: \", error);\r\n\t\t\t});\r\n\r\n\t\tnew URLSearchParams(window.location.search).forEach(function (value: string, key: string) {\r\n\t\t\tif (key.toLowerCase() == \"memberctid\") {\r\n\t\t\t\tjumpToProxyForCTID(value.toLowerCase(), 0);\r\n\t\t\t}\r\n\t\t});\r\n\t}, [id, localAJAXCache]);\r\n\r\n\tfunction convertDataToPathway(resource: any, metadata: any, rawExtraDataNow: any): PathwayType {\r\n\t\treturn ({\r\n\t\t\tBroadType: \"Pathway\",\r\n\t\t\tCTDLType: \"ceterms:Pathway\",\r\n\t\t\tCTDLTypeLabel: \"Pathway\",\r\n\t\t\tMeta_Id: id,\r\n\t\t\tMeta_Language: resource[\"ceterms:inLanguage\"]?.[0] || \"en\",\r\n\t\t\tMeta_LastUpdated: metadata?.DateModified || \"Unknown\",\r\n\t\t\tMeta_LastUpdatedHeader: getDetailPageHeaderModifiedDate(metadata?.DateModified),\r\n\t\t\tHasDestinationComponent: Array.isArray(resource[\"ceterms:hasDestinationComponent\"]) ? resource[\"ceterms:hasDestinationComponent\"][0] : resource[\"ceterms:hasDestinationComponent\"],\r\n\t\t\tCredentialRegistryURL: resource[\"@id\"],\r\n\t\t\tCTID: resource[\"ceterms:ctid\"],\r\n\t\t\tInstructionalProgramType: resource[\"ceterms:instructionalProgramType\"]?.map((m: any) => { return createReferenceFrameworkFromCredentialAlignmentObject(\"competencyframework\", m) }),\r\n\t\t\tIndustryType: resource[\"ceterms:industryType\"]?.map((m: any) => { return createReferenceFrameworkFromCredentialAlignmentObject(\"competencyframework\", m) }),\r\n\t\t\tOccupationType: resource[\"ceterms:occupationType\"]?.map((m: any) => { return createReferenceFrameworkFromCredentialAlignmentObject(\"competencyframework\", m) }),\r\n\t\t\tName: getEnglish(resource[\"ceterms:name\"]),\r\n\t\t\tDescription: getEnglish(resource[\"ceterms:description\"]),\r\n\t\t\tSubjectWebpage: resource[\"ceterms:subjectWebpage\"],\r\n\t\t\tSubject: resource[\"ceterms:subject\"]?.map((m: any) => { return createKeywordSearchLink(\"pathway\", getEnglish(m[\"ceterms:targetNodeName\"])) }),\r\n\t\t\tHasMember: resource[\"ceterms:hasMember\"] || [],\r\n\t\t\tHasPart: resource[\"ceterms:hasPart\"] || [],\r\n\t\t\tRegistryData: { CTID: resource[\"ceterms:ctid\"], Resource: { URL: resource[\"@id\"], Label: \"View Resource\" }, Envelope: { URL: resource[\"@id\"]?.replace(\"/resources/\", \"/envelopes/\"), Label: \"View Envelope\" } },\r\n\t\t\tPreviousVersion: resource[\"ceterms:previousVersion\"],\r\n\t\t\tLatestVersion: resource[\"ceterms:latestVersion\"],\r\n\t\t\tNextVersion: resource[\"ceterms:nextVersion\"],\r\n\t\t\tLifeCycleStatusType : resource[\"ceterms:lifeCycleStatusType\"] && resource[\"ceterms:lifeCycleStatusType\"][\"ceterms:targetNodeName\"] ? resource[\"ceterms:lifeCycleStatusType\"][\"ceterms:targetNodeName\"][\"en-US\"] : null,\r\n\t\t\tMeta_JSON: resource,\r\n\t\t\tAllowUseOfPathwayDisplay: rawExtraDataNow?.AllowUseOfPathwayDisplay\r\n\t\t} as any) as PathwayType;\r\n\t}\r\n\r\n\tfunction jumpToProxyForCTID(targetCTID: string, attempts: number) {\r\n\t\tconsole.log(\"jumping to CTID\", targetCTID)\r\n\t\tsetTimeout(function () {\r\n\t\t\tvar element = document.querySelector(\"[data-ctid='\" + targetCTID + \"']\");\r\n\t\t\tif (element) {\r\n\t\t\t\telement.scrollIntoView();\r\n\t\t\t}\r\n\t\t\telse if (attempts <= 10) {\r\n\t\t\t\tjumpToProxyForCTID(targetCTID, attempts + 1);\r\n\t\t\t}\r\n\t\t}, 500);\r\n\t}\r\n\tconst checkComponents = (components: any, haspart: any) => {\r\n\t\tconst missingIds = [];\r\n\t\tif (components.length > 0) {\r\n\t\t\tfor (const component of components) {\r\n\t\t\t\tconst precededby = component['ceterms:precededBy'];\r\n\t\t\t\tif (Array.isArray(precededby)) {\r\n\t\t\t\t\tfor (const id of precededby) {\r\n\t\t\t\t\t\tif (!haspart.includes(id)) {\r\n\t\t\t\t\t\t\tmissingIds.push(id);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (!haspart.includes(precededby) && precededby != undefined) {\r\n\t\t\t\t\t\tmissingIds.push(precededby);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn missingIds;\r\n\t};\r\n\tvar pathwayComponents = graph.filter(m => m[\"ceasn:isPartOf\"] == pageModel.CredentialRegistryURL);\r\n\tpathwayComponents.sort((a, b) => { return pageModel.HasDestinationComponent == a[\"@id\"] ? -1 : 0 });\r\n\tvar pathwayComponentURLs=pathwayComponents.map((m: any) => m[\"@id\"]) as Array;\r\n\tvar topProgressionLevels = progressionModelData.HasTopConcept?.length > 0 ? progressionModelData.HasTopConcept.map((m) => { return progressionLevelsData.filter((n) => { return n.CredentialRegistryURL == m })[0] }).filter((m) => { return m }) : progressionLevelsData;\r\n\t;\r\n\tuseEffect(() => {\r\n\t\tvar hasExternalComponents = checkComponents(pathwayComponents, pageModel.HasPart);\r\n\t\tif (hasExternalComponents != null && hasExternalComponents.length > 0) {\r\n\t\t\tconst updatedComponents: any[] = [];\r\n\t\t\tfor (const component of hasExternalComponents) {\r\n\t\t\t\tconst ctid = component.split(\"resources/\")[1];\r\n\t\t\t\tvar data = getResourceByURI(`${apiUrl}/PathwayComponent/${ctid}`, setLocalAJAXCache).Data;\r\n\t\t\t\tif (data != null && data.Result) {\r\n\t\t\t\t\tupdatedComponents.push(data.Result);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (updatedComponents.length > 0 && updatedComponents.length != externalComponents.length) {\r\n\t\t\t\tsetExternalComponents(updatedComponents);\r\n\t\t\t}\r\n\t\t}\r\n\t}, [pathwayComponents, pageModel.HasPart]);\r\n\r\n\tconsole.log(pageModel);\r\n\r\n\tvar typeLabel = widgetGetSingleLabelForText(\"Pathway\");\r\n\tconsole.log(\"Support Services\", supportServiceWrapper.Values); //Requires having an array to actually hold the values as they are updated (because react won't) and an object in the state that gets updated (so react will notice the change)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{pageModel.Description || \"No Description\"}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{pageModel.AllowUseOfPathwayDisplay && }\r\n\t\t\t\t\t\t\t\t{!pageModel.AllowUseOfPathwayDisplay &&
    {typeLabel} Viewer is not available for this Resource.
    }\r\n\t\t\t\t\t\t\t\t{pageModel.SubjectWebpage && }\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t{pageModel.LifeCycleStatusType && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{pageModel.LifeCycleStatusType}\r\n\t\t\t\t\t\t\t\t{/**/}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{(pageModel.LatestVersion || pageModel.PreviousVersion || pageModel.NextVersion ) &&\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/**/}\r\n\t\t\t\t\t\t\t\t{/**/}\r\n\t\t\t\t\t\t\t\t{/**/}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    This pathway contains {pathwayComponentURLs.length + externalComponents.length} Components.
    \r\n\t\t\t\t\t\t\t\t\t renderPathwayComponentProxyForData(pageModel, data, itemContainer, itemList)} resources={graph} />\r\n\t\t\t\t\t\t\t\t\t{externalComponents?.map((component: PathwayComponent, index: number) => (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t{component.PathwayComponentType}\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\tExternal Component\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {component.Name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{component.CredentialType}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{component.Description}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tLabel: widgetGetPluralLabelForText(\"Progression Levels\"),\r\n\t\t\t\t\t\t\tContent: (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{topProgressionLevels && topProgressionLevels.map((level) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tLabel: \"Details\",\r\n\t\t\t\t\t\t\tContent: (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t].filter(m => m.Content != null)}\r\n\t\t\t\t/>\r\n\t\t\t
    \r\n\t\t
    \r\n\t)\r\n}\r\n\r\nfunction renderPathwayComponentProxyForData(pathway: PathwayType, data: any, itemContainer: any, itemList: any) {\r\n\titemContainer.innerHTML = \"\";\r\n\titemContainer.classList.add(\"pathwayComponent\");\r\n\r\n\tlookupSchema(schemaGraph => {\r\n\t\t//Left Margin things\r\n\t\t//Component Type\r\n\t\trenderText(itemContainer, getSchemaProperty(data[\"@type\"], \"rdfs:label\", data[\"@type\"]), \"div\", \"componentPrefixItem componentType\", \"Component Type\");\r\n\t\trenderText(itemContainer, data[\"ceterms:componentCategory\"], \"div\", \"componentPrefixItem componentCategory\", \"Component Designation\");\r\n\t\trenderText(itemContainer, pathway.HasDestinationComponent == data[\"@id\"] ? \"Destination Component\" : null, \"div\", \"componentPrefixItem componentDestination\", \"This component represents the destination for the Pathway.\");\r\n\r\n\t\t//Content\r\n\t\tvar content = renderElement(itemContainer, true, \"div\", \"componentContent\", () => { });\r\n\r\n\t\t//Name\r\n\t\tvar headerContent = renderElement(content, true, \"div\", \"componentHeader\", () => { });\r\n\t\tif (data[\"ceterms:proxyFor\"]?.includes(registryURL)) {\r\n\t\t\trenderLink(headerContent, data[\"ceterms:proxyFor\"].replace(registryURL, appURL).replace(\"/graph/\", \"/resources/\"), getEnglish(data[\"ceterms:name\"] || \"Unnamed Resource\"), \"_blank\", \"componentName componentNameLink\");\r\n\t\t}\r\n\t\telse {\r\n\t\t\trenderText(headerContent, getEnglish(data[\"ceterms:name\"] || \"Unnamed Resource\"), \"div\", \"componentName\");\r\n\t\t}\r\n\r\n\t\t//Credential Type (if applicable)\r\n\t\tif (data[\"ceterms:credentialType\"]) {\r\n\t\t\tvar type = data[\"ceterms:credentialType\"]?.replace(\"https://purl.org/ctdl/terms/\", \"ceterms:\");\r\n\t\t\trenderText(headerContent, \"(\" + getSchemaProperty(type, \"rdfs:label\", type) + \")\", \"div\", \"componentCredentialType\")\r\n\t\t}\r\n\r\n\t\t//Description\r\n\t\trenderText(content, getEnglish(data[\"ceterms:description\"] || data[\"ceasn:description\"] || data[\"skos:definition\"] || data[\"ceasn:competencyText\"] || \"No Description\"), \"div\", \"componentDescription\");\r\n\r\n\t\tfunction getSchemaProperty(termURI: string, schemaProperty: string, fallback: string): any {\r\n\t\t\treturn getEnglish(schemaGraph.find(m => m[\"@id\"] == termURI)?.[schemaProperty] || fallback);\r\n\t\t}\r\n\t});\r\n\r\n}\r\n\r\n","export default __webpack_public_path__ + \"static/media/icon-pathwaysets-white-green-01.0fbe6c74.svg\";","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport pathwayIcon from '../../assets/images/icons/icon-pathways-green-blue-01.svg';\r\nimport pageIcon from '../../assets/images/icons/icon-pathwaysets-white-green-01.svg';\r\nimport Banner from '../../components/Banner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport {\r\n Description,\r\n Label,\r\n Wrapper\r\n} from '../../components/DetailPage/styles';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { apiUrl, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport { PathwaySet } from '../../types/external';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\n\r\n\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function PathwaySetPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n const [pageModel, setPageData] = useState({} as PathwaySet);\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n useEffect(() => {\r\n getPageData(`${apiUrl}/PathwaySet/${id}`, (data: PathwaySet) => {\r\n setPageData(data);\r\n });\r\n }, [getPageData, id]);\r\n //\r\n\r\n function getSubTitleLink() {\r\n if (pageModel.OwnedByLabel && pageModel.OwnedByLabel.Label) {\r\n return pageModel.OwnedByLabel.URL ?\r\n {pageModel.OwnedByLabel.Label} :\r\n <>{pageModel.OwnedByLabel.Label};\r\n }\r\n return null;\r\n }\r\n\r\n function getLegacyLink() {\r\n if (pageModel.Meta_Id) {\r\n const url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n const mystyle = {\r\n color: \"transparent\",\r\n marginLeft: \"10px\"\r\n };\r\n return <>\r\n Legacy\r\n \r\n\r\n }\r\n return null;\r\n\t}\r\n\r\n\tvar typeLabel = widgetGetSingleLabelForText(\"Pathway Set\");\r\n\r\n return (\r\n \r\n\r\n Last updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n }\r\n />\r\n \r\n \r\n \r\n\t\t\t\t\t\t\r\n \r\n {pageModel.Description && (\r\n \r\n {pageModel.Description}\r\n \r\n )}\r\n \r\n {pageModel.SubjectWebpage &&\r\n \r\n }\r\n \r\n \r\n\r\n \r\n \r\n\t\t\t\t\t\r\n \r\n \r\n {pageModel.HasPathway &&\r\n\t\t\t\t\t\t\r\n \r\n \r\n }\r\n\r\n\r\n\t\t\t\t\t\r\n\r\n \r\n \r\n \r\n );\r\n}\r\n//","import React, { ReactNode, useEffect, useState } from 'react';\r\nimport styled from 'styled-components/macro';\r\nimport { apiUrl } from '../../shared/globals';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { appURL, appBaseName } from '../../shared/globals';\r\nimport { ProgressionModel, ProgressionLevel as ProgressionLevelType, Outline, Link } from '../../types/external';\r\nimport conceptsBannerIcon from '../../assets/images/UpdatedIcons/CE-Icon_19-Progression-Model_Blue-Green_High-Res.png';\r\nimport conceptsIcon from '../../assets/images/icons/icon-competencies-blue-green-01.svg';\r\nimport PageBanner from '../../components/DetailPage/PageBanner';\r\nimport {\r\n\tWrapper,\r\n\tFullWidthWrapper,\r\n\tInnerWrapper,\r\n\tDescription,\r\n\tLabel\r\n} from '../../components/DetailPage/styles';\r\nimport { VStack } from '../../components/Stack';\r\nimport PageSection from '../../components/PageSection';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport { getResourceByURI, englishOrNull, createKeywordSearchLink, getResourceByURLWithoutState } from '../../components/GetResourceByURI';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport SubjectsAndKeywordsPageSection from '../../components/DetailPage/SubjectsAndKeywordsPageSection';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faAngleDown, faAngleRight } from '@fortawesome/free-solid-svg-icons';\r\nimport { renderJSONLDMetaTags } from '../../utils/JSONLDMetaHelper';\r\n\r\n\r\ninterface Props {\r\n\tid: string;\r\n\ttargetCTID?: string;\r\n}\r\n\r\nexport default function ProgressionModelPage(props: RouteComponentProps) {\r\n\tconst id = props.match.params.id;\r\n\tconst [dataIsLoading, setDataIsLoading] = useState(true);\r\n\tconst [hasError, setHasError] = useState(false);\r\n\tconst [progressionModel, setProgressionModel] = useState({} as ProgressionModel);\r\n\tconst [progressionLevels, setProgressionLevels] = useState([] as Array);\r\n\tconst [localAJAXCache, setLocalAJAXCache] = useState([] as Array); //Used to trick react into re-rendering the data\r\n\r\n\t//This is so backwards I hate this\r\n\tconst [publicationStatusText, setPublicationStatusText] = useState(\"\");\r\n\r\n\tuseEffect(() => {\r\n\t\tconsole.log(\"App Name\", appBaseName);\r\n\t\tgetResourceByURI(`${apiUrl}/dsp_progressionmodel/${id}`, setLocalAJAXCache, null, (loaded: any) => {\r\n\t\t\tvar data = loaded.Result;\r\n\t\t\trenderJSONLDMetaTags(data.Resource, \"ProgressionModel\");\r\n\t\t\tsetDataIsLoading(false);\r\n\t\t\tsetProgressionModel(convertDataToProgressionModel(data.Resource || { \"ceasn:name\": \"Missing Progression Model\", \"ceasn:description\": \"Unable to find data for identifier: \" + id }, data.Metadata, id, setLocalAJAXCache));\r\n\t\t\tsetProgressionLevels(data.RelatedItems.filter((m: any) => { return m[\"skos:inScheme\"] == data.Resource[\"@id\"] || m[\"ceasn:inProgressionModel\"] == data.Resource[\"@id\"] }).map((m: ProgressionLevelType) => { return convertDataToConcept(m) }));\r\n\r\n\t\t\tif (progressionModel.PublicationStatusType) {\r\n\t\t\t\tgetResourceByURLWithoutState(progressionModel.PublicationStatusType, null, (success: any) => {\r\n\t\t\t\t\tsetPublicationStatusText(englishOrNull(success?.[\"@graph\"]?.[0]?.[\"skos:prefLabel\"]));\r\n\t\t\t\t\tconsole.log(publicationStatusText);\r\n\t\t\t\t}, (error: any) => {\r\n\t\t\t\t\tsetPublicationStatusText(\"Error loading Status: \" + progressionModel.PublicationStatusType);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\t\t(error: any) => {\r\n\t\t\t\tsetHasError(true);\r\n\t\t\t\tconsole.log(\"Error loading data: \", error);\r\n\t\t\t});\r\n\t\tnew URLSearchParams(window.location.search).forEach(function (value: string, key: string) {\r\n\t\t\tif (key.toLowerCase() == \"conceptctid\" || key.toLowerCase() == \"targetctid\") {\r\n\t\t\t\tjumpToConceptCTID(value.toLowerCase(), 0);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tfunction jumpToConceptCTID(targetCTID: string, attempts: number) {\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tvar element = document.getElementById(targetCTID);\r\n\t\t\t\tif (element && element.getElementsByClassName(\"conceptContent\").length > 0) {\r\n\t\t\t\t\telement.scrollIntoView();\r\n\t\t\t\t}\r\n\t\t\t\telse if (attempts <= 10) {\r\n\t\t\t\t\tjumpToConceptCTID(targetCTID, attempts + 1);\r\n\t\t\t\t}\r\n\t\t\t}, 500);\r\n\t\t}\r\n\r\n\r\n\t}, [id, localAJAXCache]);\r\n\r\n\tvar topCompetencies = progressionModel.HasTopConcept?.length > 0 ? progressionModel.HasTopConcept.map((m) => { return progressionLevels.filter((n) => { return n.CredentialRegistryURL == m })[0] }).filter((m) => { return m }) : progressionLevels;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{progressionModel.Description || \"No description available\"}\r\n\t\t\t\t\t\t{progressionModel.Source && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{progressionModel.Source.map((url) => ())}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{progressionModel.PublicationStatusType && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{publicationStatusText && {publicationStatusText}}\r\n\t\t\t\t\t\t\t\t{!publicationStatusText &&
    }\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{topCompetencies && topCompetencies.map((progressionLevel) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tLabel: \"Details\",\r\n\t\t\t\t\t\t\tContent: (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t].filter(m => m.Content != null)}\r\n\t\t\t\t/>\r\n\r\n\t\t\t\r\n\t\t
    \r\n\t)\r\n}\r\n\r\nexport function convertDataToProgressionModel(resource: any, metadata: any, id: string, setLocalAJAXCache: any): ProgressionModel {\r\n\treturn {\r\n\t\tBroadType: \"ProgressionModel\",\r\n\t\tCTDLType: \"skos:ProgressionModel\",\r\n\t\tCTDLTypeLabel: \"Progression Model\",\r\n\t\tMeta_Id: id,\r\n\t\tCTID: resource[\"ceterms:ctid\"],\r\n\t\tMeta_LastUpdated: metadata?.DateModified || \"Unknown\",\r\n\t\tMeta_LastUpdatedHeader: metadata?.DateModified || \"Unknown\",\r\n\t\tMeta_Language: resource[\"ceasn:inLanguage\"]?.[0] || \"en\",\r\n\t\tName: englishOrNull(resource[\"ceasn:name\"]),\r\n\t\tDescription: englishOrNull(resource[\"ceasn:description\"]),\r\n\t\tSource: Array.isArray(resource[\"ceasn:source\"]) ? resource[\"ceasn:source\"] : [resource[\"ceasn:source\"]],\r\n\t\tInLanguage: resource[\"ceasn:inLanguage\"],\r\n\t\tConceptKeyword: englishOrNull(resource[\"ceasn:conceptKeyword\"])?.map((m: string) => { return createKeywordSearchLink(\"conceptscheme\", m) }),\r\n\t\tConceptTerm: resource[\"ceasn:conceptTerm\"]?.map((m: string) => { return createKeywordSearchLink(\"conceptscheme\", englishOrNull(m)) }),\r\n\t\tCreator: resource[\"ceasn:creator\"]?.map((m: string) => { return getOrganizationOutlineByURI(m, \"creator\", setLocalAJAXCache) }),\r\n\t\tDateCreated: resource[\"ceasn:dateCreated\"],\r\n\t\tDateCopyrighted: resource[\"ceasn:dateCopyrighted\"],\r\n\t\tDateModified: resource[\"ceasn:dateModified\"],\r\n\t\tLicense: resource[\"ceasn:license\"],\r\n\t\tPublicationStatusType: resource[\"ceasn:publicationStatusType\"]?.replace(\"http://\", \"https://\")?.replace(\"publicationStatus:\", \"https://credreg.net/ctdlasn/vocabs/publicationStatus/\"),\r\n\t\tPublisher: resource[\"ceasn:publisher\"]?.map((m: string) => { return getOrganizationOutlineByURI(m, \"publisher\", setLocalAJAXCache) }),\r\n\t\tPublisherName: resource[\"ceasn:publisherName\"] && [englishOrNull(resource[\"ceasn:publisherName\"])],\r\n\t\tRights: resource[\"ceasn:rights\"],\r\n\t\tRightsHolder: resource[\"ceasn:rightsHolder\"] && getOrganizationOutlineByURI(resource[\"ceasn:rightsHolder\"], \"rightsholder\", setLocalAJAXCache),\r\n\t\tCredentialRegistryURL: resource[\"@id\"],\r\n\t\tHasTopConcept: resource[\"skos:hasTopConcept\"],\r\n\t\tRegistryData: { CTID: resource[\"ceterms:ctid\"], Resource: { URL: resource[\"@id\"], Label: \"View Resource\" }, Envelope: { URL: resource[\"@id\"]?.replace(\"/resources/\", \"/envelopes/\"), Label: \"View Envelope\" } },\r\n\t\tMeta_JSON: resource,\r\n\t} as ProgressionModel;\r\n}\r\n\r\n\r\nexport function convertDataToConcept(resource: any): ProgressionLevelType {\r\n\treturn {\r\n\t\tCredentialRegistryURL: resource[\"@id\"],\r\n\t\tCTID: resource[\"ceterms:ctid\"],\r\n\t\tPrefLabel: englishOrNull(resource[\"skos:prefLabel\"]),\r\n\t\tHiddenLabel: englishOrNull(resource[\"skos:hiddenLabel\"]),\r\n\t\tAltLabel: englishOrNull(resource[\"skos:altLabel\"]),\r\n\t\tBroader: resource[\"skos:broader\"],\r\n\t\tBroadMatch: resource[\"skos:broadMatch\"],\r\n\t\tChangeNote: englishOrNull(resource[\"skos:changeNote\"]),\r\n\t\tCloseMatch: resource[\"skos:closeMatch\"],\r\n\t\tExactMatch: resource[\"skos:exactMatch\"],\r\n\t\tInScheme: resource[\"skos:inScheme\"],\r\n\t\tNarrower: resource[\"skos:narrower\"],\r\n\t\tNarrowMatch: resource[\"skos:narrowMatch\"],\r\n\t\tRelated: resource[\"skos:related\"],\r\n\t\tTopConceptOf: resource[\"skos:topConceptOf\"],\r\n\t\tDefinition: englishOrNull(resource[\"skos:definition\"]),\r\n\t\tNotation: resource[\"skos:notation\"],\r\n\t\tNote: englishOrNull(resource[\"skos:note\"]),\r\n\t\tMeta_JSON: resource\r\n\t} as ProgressionLevelType;\r\n}\r\n\r\nfunction getOrganizationOutlineByURI(uri: string, temp: string, setLocalAJAXCache: any): Outline {\r\n\tvar data = getResourceByURI(uri, setLocalAJAXCache).Data;\r\n\treturn {\r\n\t\tLabel: englishOrNull(data?.[\"ceterms:name\"]) || ,\r\n\t\tURL: appURL + \"/organization/\" + uri.split(\"/resources/\")[1],\r\n\t\tImage: data?.[\"ceterms:image\"]\r\n\t} as Outline;\r\n}\r\n\r\n\r\n\r\nfunction AlignmentListHelper() {\r\n\twireupExtras();\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\nfunction wireupExtras() {\r\n\tsetTimeout(function () {\r\n\t\tvar items = Array.from(document.querySelectorAll(\".conceptExtraListWrapper:not(.setup)\") || []);\r\n\t\titems.forEach(function (item) {\r\n\t\t\titem.classList.add(\"setup\");\r\n\t\t\titem.querySelector(\".conceptExtraListSummaryButton\")?.addEventListener(\"click\", function () {\r\n\t\t\t\titem.classList.contains(\"expanded\") ? item.classList.remove(\"expanded\") : item.classList.add(\"expanded\");\r\n\t\t\t});\r\n\t\t});\r\n\t\tif (items.length > 0) {\r\n\t\t\twireupExtras();\r\n\t\t}\r\n\t}, 100);\r\n}\r\n\r\nexport function ProgressionLevel(props: { progressionLevel: ProgressionLevelType, allConcepts: Array | null }) {\r\n\treturn props.progressionLevel && (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{props.progressionLevel.Notation && {props.progressionLevel.Notation}}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{(props.progressionLevel.PrefLabel || props.progressionLevel.AltLabel || props.progressionLevel.HiddenLabel) && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{props.progressionLevel.PrefLabel && {props.progressionLevel.PrefLabel}}\r\n\t\t\t\t\t\t\t{props.progressionLevel.AltLabel && {props.progressionLevel.AltLabel}}\r\n\t\t\t\t\t\t\t{props.progressionLevel.HiddenLabel && {props.progressionLevel.HiddenLabel}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{props.progressionLevel.Definition && {props.progressionLevel.Definition}}\r\n\t\t\t\t\t{props.progressionLevel.Note && {props.progressionLevel.Note}}\r\n\t\t\t\t\t{props.progressionLevel.ChangeNote && {props.progressionLevel.ChangeNote}}\r\n\t\t\t\t\t{props.progressionLevel.CTID && CTID: {props.progressionLevel.CTID}}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t m.Meta_JSON) || []} />\r\n\t\t\t\r\n\t\t\t{(props.allConcepts || []).length > 0 && props.progressionLevel.Narrower?.length > 0 &&\r\n\t\t\t\t\r\n\t\t\t\t\t{props.progressionLevel.Narrower.map((narrowerURI) => (\r\n\t\t\t\t\t\t { return m.CredentialRegistryURL == narrowerURI })[0]} allConcepts={props.allConcepts} key={\"progressionLevel-\" + narrowerURI} />\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\r\n\t) || null;\r\n}\r\n\r\nexport function ConceptAlignmentList(props: { source: ProgressionLevelType, relatedItems: Array }) {\r\n\tvar conceptAlignments = [] as Array;\r\n\tvar alignmentTypes = [\r\n\t\t{ label: \"Broad Match\", property: \"skos:broadMatch\" },\r\n\t\t{ label: \"Close Match\", property: \"skos:closeMatch\" },\r\n\t\t{ label: \"Exact Match\", property: \"skos:exactMatch\" },\r\n\t\t{ label: \"Narrow Match\", property: \"skos:narrowMatch\" },\r\n\t\t{ label: \"Related\", property: \"skos:related\" }\r\n\t];\r\n\r\n\talignmentTypes.forEach(type => {\r\n\t\t(props.source.Meta_JSON[type.property] || []).forEach((alignment: string) => {\r\n\t\t\tvar match = props.relatedItems.filter(item => {\r\n\t\t\t\treturn item[\"@id\"] == alignment\r\n\t\t\t})[0];\r\n\r\n\t\t\tconceptAlignments.push(\r\n\t\t\t\tmatch ?\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\talignmentPrefix: \"\",\r\n\t\t\t\t\t\talignmentLabel: type.label,\r\n\t\t\t\t\t\talignmentTerm: type.property,\r\n\t\t\t\t\t\talignmentPostfix: \":\",\r\n\t\t\t\t\t\ttargetURL: \"/conceptscheme/ce-\" + match[\"skos:inScheme\"]?.split(\"/ce-\")[1] + \"?conceptCTID=\" + match[\"ceterms:ctid\"],\r\n\t\t\t\t\t\ttargetLabel: englishOrNull(match[\"skos:prefLabel\"])\r\n\t\t\t\t\t}\r\n\t\t\t\t\t:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\talignmentPrefix: \"External \",\r\n\t\t\t\t\t\talignmentLabel: type.label,\r\n\t\t\t\t\t\talignmentTerm: type.property,\r\n\t\t\t\t\t\talignmentPostfix: \":\",\r\n\t\t\t\t\t\ttargetURL: alignment,\r\n\t\t\t\t\t\ttargetLabel: alignment\r\n\t\t\t\t\t}\r\n\t\t\t);\r\n\t\t});\r\n\t});\r\n\r\n\talignmentTypes.forEach(type => {\r\n\t\tprops.relatedItems.forEach(relatedItem => {\r\n\t\t\tif (relatedItem[type.property]?.indexOf(props.source.Meta_JSON[\"@id\"]) > -1) {\r\n\t\t\t\tconceptAlignments.push(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\talignmentPrefix: \"Reverse \",\r\n\t\t\t\t\t\talignmentLabel: type.label,\r\n\t\t\t\t\t\talignmentTerm: type.property,\r\n\t\t\t\t\t\talignmentPostfix: \" reference from:\",\r\n\t\t\t\t\t\ttargetURL: \"/conceptscheme/ce-\" + relatedItem[\"skos:inScheme\"]?.split(\"/ce-\")[1] + \"?conceptCTID=\" + relatedItem[\"ceterms:ctid\"],\r\n\t\t\t\t\t\ttargetLabel: englishOrNull(relatedItem[\"skos:prefLabel\"])\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\treturn conceptAlignments.length > 0 && (\r\n\t\t (\r\n\t\t\t\t\r\n\t\t\t\t\t{m.alignmentPrefix}{m.alignmentLabel}{m.alignmentPostfix} {m.targetLabel}\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t/>\r\n\t) || null\r\n}\r\n\r\nexport function ConceptExtraListSimple(props: { values: Array, count: number, label: string }) {\r\n\treturn props.values?.length > 0 && (\r\n\t\t\r\n\t\t\t{props.count > 1 && {props.count} {props.label + \"s\"} }\r\n\t\t\t{props.count == 1 && {props.count} {props.label}}\r\n\t\t\t\r\n\t\t\t\t{props.values}\r\n\t\t\t\r\n\t\t\r\n\t) || null\r\n}\r\n\r\nconst ConceptWrapper = styled.div`\r\n\tpadding: 5px;\r\n\tborder-top: 1px solid #CCC;\r\n`;\r\n\r\nconst ConceptContent = styled.div`\r\n\tdisplay: flex;\r\n\tpadding-left: 10px;\r\n\r\n`;\r\n\r\nconst ConceptPrefix = styled.div`\r\n\r\n`;\r\n\r\nconst ConceptPrefixItem = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: center;\r\n\tfont-size: 12px;\r\n\tmin-width: 50px;\r\n\tmax-width: 150px;\r\n\tword-break: break-word;\r\n\tmargin-right: 5px;\r\n\tbackground-color: #F5F5F5;\r\n\tpadding: 5px;\r\n\ttext-align: center;\r\n`;\r\n\r\nconst ConceptBody = styled.div`\r\n\r\n`;\r\n\r\nconst ChildConcepts = styled.div`\r\n\tpadding-left: 25px;\r\n`;\r\n\r\nconst ConceptName = styled.div`\r\n\tfont-weight: bold;\r\n\r\n\t& span:not(:first-child) {\r\n\t\tborder-left: 1px solid #CCC;\r\n\t\tpadding-left: 10px;\r\n\t\tmargin-left: 10px;\r\n\t}\r\n`;\r\n\r\nconst ConceptDefinition = styled.div`\r\n\t\r\n`;\r\n\r\nconst ConceptNote = styled.div`\r\n\tfont-style: italic;\r\n\tpadding: 0 10px;\r\n\tfont-size: 90%;\r\n`;\r\n\r\nconst ConceptCTID = styled.div`\r\n\tpadding: 5px 10px;\r\n\tfont-size: 12px;\r\n\tfont-style: italic;\r\n`;\r\n\r\nconst ConceptExtras = styled.div`\r\n\tpadding: 5px 0 5px 10px;\r\n`;\r\n\r\nconst ConceptExtraListWrapper = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: flex-start;\r\n\tfont-size: 12px;\r\n\tborder-top: 1px dashed #CCC;\r\n\tpadding: 5px 5px;\r\n\r\n`;\r\n\r\nconst ConceptExtraListSummaryWrapper = styled.div`\r\n\tmin-width: 150px;\r\n\tmargin-right: 10px;\r\n\tpadding: 1px 5px;\r\n`;\r\n\r\nconst ConceptExtraListSummaryButton = styled.button`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tmin-width: 150px;\r\n\tmargin-right: 10px;\r\n\tborder: none;\r\n\tbackground-color: transparent;\r\n\tfont-size: 12px;\r\n\tpadding: 1px 5px;\r\n\r\n\t& svg {\r\n\t\tmargin-left: auto;\r\n\t}\r\n\r\n\t&:hover, &:focus {\r\n\t\tcursor: pointer;\r\n\t\ttext-decoration: underline;\r\n\t}\r\n`;\r\n\r\nconst ConceptExtraListValues = styled.div`\r\n\twidth: 100%;\r\n`;\r\n\r\n\r\nconst ConceptExtraListItem = styled.div`\r\n\tpadding: 2.5px 0;\r\n\tborder-top: 1px dashed #CCC;\r\n\r\n\t&:first-child {\r\n\t\tborder: none;\r\n\t}\r\n\r\n\t& a {\r\n\t\tword-break: break-word;\r\n\t}\r\n`;\r\n\r\nconst AlignmentWrapper = styled(ConceptExtraListItem)`\r\n\r\n`;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport styled from 'styled-components/macro';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport pageIcon from '../../assets/images/icons/icon-scoring-method-blue-green-01.svg';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport Banner from '../../components/Banner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport { LinkItem } from '../../components/DetailPage/Shared';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport SubjectsAndKeywordsPageSection from '../../components/DetailPage/SubjectsAndKeywordsPageSection';\r\nimport {\r\n Description,\r\n FullWidthWrapper,\r\n InnerWrapper,\r\n Label,\r\n Wrapper\r\n} from '../../components/DetailPage/styles';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { VStack, HStack } from '../../components/Stack';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { apiUrl, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport { QualificationsFramework, ProgressionModel } from '../../types/external';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport { isFilled } from '../../validation';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport ConditionProfileList, { getConditionProfileListButtonName } from \"../../components/DetailPage/ConditionProfile\";\r\nimport ConnectionsSection from \"../../components/DetailPage/ConnectionsSection\";\r\nimport { ModalType } from '../../types/internal';\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport { Section, SectionLabel, SectionContent } from '../../components/DetailPage/Shared';\r\nimport { Inline, InlineLabel } from '../../components/DetailPage/styles';\r\nimport { Concept, convertDataToConceptScheme, convertDataToConcept } from '../ConceptSchemePage';\r\n\r\n\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function QualificationsFrameworkPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n const [pageModel, setPageData] = useState({} as QualificationsFramework);\r\n const [openedModal, setOpenedModal] = useState();\r\n const [progressionModelData, setProgressionModelData] = useState({} as ProgressionModel);\r\n function onOpenModalClick(modalType: ModalType) {\r\n return () => setOpenedModal(modalType);\r\n }\r\n\r\n function onCloseModalClick() {\r\n setOpenedModal(undefined);\r\n }\r\n\r\n\r\n useEffect(() => {\r\n getPageData(`${apiUrl}/QualificationsFramework/${id}`, (data: QualificationsFramework) => {\r\n debugger;\r\n setPageData(data);\r\n });\r\n }, [getPageData, id]);\r\n\r\n //\r\n\r\n function getSubTitleLink() {\r\n if (pageModel.OwnedByLabel && pageModel.OwnedByLabel.Label) {\r\n return pageModel.OwnedByLabel.URL ?\r\n {pageModel.OwnedByLabel.Label} :\r\n <>{pageModel.OwnedByLabel.Label};\r\n }\r\n return null;\r\n }\r\n function TextItem(props: { label: string, item: string }) {\r\n return (props.item &&\r\n \r\n {props.label}\r\n
    {props.item}
    \r\n
    \r\n ) || null\r\n }\r\n function NumberItem(props: { label: string, item: number }) {\r\n return (props.item &&\r\n \r\n {props.label}\r\n
    {props.item}
    \r\n
    \r\n ) || null\r\n }\r\n function getLegacyLink() {\r\n if (pageModel.Meta_Id) {\r\n const url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n const mystyle = {\r\n //color: \"rgba(0,0,0,.01)\",\r\n color: \"transparent\",\r\n //backgroundColor: \"rgba(0,0,0,.01)\",\r\n marginLeft: \"10px\"\r\n };\r\n return <>\r\n Legacy\r\n \r\n\r\n }\r\n return null;\r\n }\r\n const CompetencyCTID = styled.div`\r\n\tpadding: 0 10px;\r\n\tfont-size: 90%;\r\n`;\r\n const styles: { [key: string]: React.CSSProperties } = {\r\n tableContainer: {\r\n borderCollapse: 'collapse',\r\n },\r\n headerCell: {\r\n border: '0.5px solid #ddd',\r\n padding: '4px',\r\n textAlign: 'left',\r\n verticalAlign: 'top',\r\n backgroundColor: '#DCFAF9',\r\n width: '550px',\r\n fontWeight: 'normal',\r\n\r\n },\r\n dataCell: {\r\n border: '1px solid #ddd',\r\n padding: '4px',\r\n textAlign: 'left',\r\n verticalAlign: 'top',\r\n width: '550px',\r\n },\r\n cell: {\r\n border: '1px solid #ddd', \r\n padding: '4px',\r\n verticalAlign: 'top',\r\n textAlign: 'left',\r\n }\r\n };\r\n\r\n var typeLabel = widgetGetSingleLabelForText(\"QualificationsFramework\");\r\n return (\r\n \r\n\r\n Last updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {pageModel.Description && (\r\n \r\n \r\n {pageModel.Description}\r\n \r\n \r\n )}\r\n\r\n {pageModel.SubjectWebpage &&\r\n \r\n \r\n \r\n }\r\n {pageModel.LifeCycleStatusType && (\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {(pageModel.LatestVersion?.URL || pageModel.PreviousVersion?.URL || pageModel.NextVersion?.URL) &&\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 hideCount={true}\r\n />\r\n }\r\n hideCount={true}\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 React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport styled from 'styled-components/macro';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport pageIcon from '../../assets/images/icons/icon-scoring-method-blue-green-01.svg';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport Banner from '../../components/Banner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport { LinkItem } from '../../components/DetailPage/Shared';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport SubjectsAndKeywordsPageSection from '../../components/DetailPage/SubjectsAndKeywordsPageSection';\r\nimport OccupationsAndIndustriesSection from '../../components/DetailPage/OccupationsAndIndustriesSection';\r\nimport {\r\n Description,\r\n FullWidthWrapper,\r\n InnerWrapper,\r\n Label,\r\n Wrapper\r\n} from '../../components/DetailPage/styles';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { VStack, HStack } from '../../components/Stack';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { apiUrl, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport { AlignmentMap, ProgressionModel } from '../../types/external';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport { isFilled } from '../../validation';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport ConditionProfileList, { getConditionProfileListButtonName } from \"../../components/DetailPage/ConditionProfile\";\r\nimport ConnectionsSection from \"../../components/DetailPage/ConnectionsSection\";\r\nimport { ModalType } from '../../types/internal';\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport { Section, SectionLabel, SectionContent } from '../../components/DetailPage/Shared';\r\nimport { Inline, InlineLabel } from '../../components/DetailPage/styles';\r\nimport { Concept, convertDataToConceptScheme, convertDataToConcept } from '../ConceptSchemePage';\r\n\r\n\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function AlignmentMapPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n const [pageModel, setPageData] = useState({} as AlignmentMap);\r\n const [openedModal, setOpenedModal] = useState();\r\n const [progressionModelData, setProgressionModelData] = useState({} as ProgressionModel);\r\n function onOpenModalClick(modalType: ModalType) {\r\n return () => setOpenedModal(modalType);\r\n }\r\n\r\n function onCloseModalClick() {\r\n setOpenedModal(undefined);\r\n }\r\n\r\n\r\n useEffect(() => {\r\n getPageData(`${apiUrl}/AlignmentMap/${id}`, (data: AlignmentMap) => {\r\n debugger;\r\n setPageData(data);\r\n });\r\n }, [getPageData, id]);\r\n\r\n //\r\n\r\n function getSubTitleLink() {\r\n if (pageModel.OwnedByLabel && pageModel.OwnedByLabel.Label) {\r\n return pageModel.OwnedByLabel.URL ?\r\n {pageModel.OwnedByLabel.Label} :\r\n <>{pageModel.OwnedByLabel.Label};\r\n }\r\n return null;\r\n }\r\n function TextItem(props: { label: string, item: string }) {\r\n return (props.item &&\r\n \r\n {props.label}\r\n
    {props.item}
    \r\n
    \r\n ) || null\r\n }\r\n function NumberItem(props: { label: string, item: number }) {\r\n return (props.item &&\r\n \r\n {props.label}\r\n
    {props.item}
    \r\n
    \r\n ) || null\r\n }\r\n function getLegacyLink() {\r\n if (pageModel.Meta_Id) {\r\n const url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n const mystyle = {\r\n //color: \"rgba(0,0,0,.01)\",\r\n color: \"transparent\",\r\n //backgroundColor: \"rgba(0,0,0,.01)\",\r\n marginLeft: \"10px\"\r\n };\r\n return <>\r\n Legacy\r\n \r\n\r\n }\r\n return null;\r\n }\r\n const CompetencyCTID = styled.div`\r\n\tpadding: 0 10px;\r\n\tfont-size: 90%;\r\n`;\r\n const styles: { [key: string]: React.CSSProperties } = {\r\n tableContainer: {\r\n borderCollapse: 'collapse',\r\n },\r\n headerCell: {\r\n border: '0.5px solid #ddd',\r\n padding: '4px',\r\n textAlign: 'left',\r\n verticalAlign: 'top',\r\n backgroundColor: '#DCFAF9',\r\n width: '550px',\r\n fontWeight: 'normal',\r\n\r\n },\r\n dataCell: {\r\n border: '1px solid #ddd',\r\n padding: '4px',\r\n textAlign: 'left',\r\n verticalAlign: 'top',\r\n width: '550px',\r\n },\r\n cell: {\r\n border: '1px solid #ddd', \r\n padding: '4px',\r\n verticalAlign: 'top',\r\n textAlign: 'left',\r\n }\r\n };\r\n\r\n var typeLabel = widgetGetSingleLabelForText(\"AlignmentMap\");\r\n return (\r\n \r\n\r\n Last updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {pageModel.Description && (\r\n \r\n \r\n {pageModel.Description}\r\n \r\n \r\n )}\r\n\r\n {pageModel.SubjectWebpage &&\r\n \r\n \r\n \r\n }\r\n {pageModel.LifeCycleStatusType && (\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n\r\n {(pageModel.LatestVersion?.URL || pageModel.PreviousVersion?.URL || pageModel.NextVersion?.URL) &&\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 hideCount={true}\r\n />\r\n }\r\n hideCount={true}\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 React, { useEffect, useState } from 'react';\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\nimport axios from 'axios';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport { apiUrl } from '../../shared/globals';\r\nimport InnerHTML from 'dangerously-set-html-content';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport styled from 'styled-components/macro';\r\nimport Error from '../../components/Error';\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function ResourcesPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [loading, setLoading] = useState(false);\r\n const [pageContent, setPageContent] = useState(' ');\r\n const [error, setError] = useState(false);\r\n const testurl = `${apiUrl}/resources/` + id;\r\n // Using useHistory Hook\r\n let history = useHistory();\r\n useEffect(() => {\r\n setLoading(true);\r\n\t\tconst url = `${apiUrl}/resources/` + id;\r\n axios\r\n .get(url)\r\n .then((res) => {\r\n //return is currently an Outline with a relative URL\r\n history.push(\"/\" + res.data.Result.URL);\r\n //can't have useEffect under another useEffect\r\n // useEffect(() => {\r\n // window.location.href = \"credential/\" + id;//TBD\r\n // }, []);\r\n //setPageContent(res.data);\r\n setLoading(false);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n setError(true);\r\n setLoading(false);\r\n });\r\n }, []);\r\n if (loading) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n if (error) {\r\n return ;\r\n }\r\n return ;\r\n}\r\n\r\nconst LoadingIndicatorWrapper = styled.div`\r\n text-align: center;\r\n padding: 50px;\r\n`;","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport styled from 'styled-components/macro';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport pageIcon from '../../assets/images/icons/icon-scoring-method-blue-green-01.svg';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport Banner from '../../components/Banner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport { LinkItem } from '../../components/DetailPage/Shared';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport SubjectsAndKeywordsPageSection from '../../components/DetailPage/SubjectsAndKeywordsPageSection';\r\nimport OccupationsAndIndustriesSection from '../../components/DetailPage/OccupationsAndIndustriesSection';\r\nimport {\r\n Description,\r\n FullWidthWrapper,\r\n InnerWrapper,\r\n Label,\r\n Wrapper\r\n} from '../../components/DetailPage/styles';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { VStack, HStack } from '../../components/Stack';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { apiUrl, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport { Rubric, ConceptScheme, RubricLevel, RubricCriterion, CriterionLevel } from '../../types/external';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport { isFilled } from '../../validation';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport ConditionProfileList, { getConditionProfileListButtonName } from \"../../components/DetailPage/ConditionProfile\";\r\nimport ConnectionsSection from \"../../components/DetailPage/ConnectionsSection\";\r\nimport { ModalType } from '../../types/internal';\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport { Section, SectionLabel, SectionContent } from '../../components/DetailPage/Shared';\r\nimport { Inline, InlineLabel } from '../../components/DetailPage/styles';\r\nimport { Concept, convertDataToConceptScheme, convertDataToConcept } from '../ConceptSchemePage';\r\n\r\n\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function RubricPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n const [pageModel, setPageData] = useState({} as Rubric);\r\n const [openedModal, setOpenedModal] = useState();\r\n const [progressionModelData, setProgressionModelData] = useState({} as ConceptScheme);\r\n function onOpenModalClick(modalType: ModalType) {\r\n return () => setOpenedModal(modalType);\r\n }\r\n\r\n function onCloseModalClick() {\r\n setOpenedModal(undefined);\r\n }\r\n\r\n\r\n useEffect(() => {\r\n getPageData(`${apiUrl}/Rubric/${id}`, (data: Rubric) => {\r\n debugger;\r\n setPageData(data);\r\n });\r\n }, [getPageData, id]);\r\n\r\n //\r\n\r\n function getSubTitleLink() {\r\n if (pageModel.OwnedByLabel && pageModel.OwnedByLabel.Label) {\r\n return pageModel.OwnedByLabel.URL ?\r\n {pageModel.OwnedByLabel.Label} :\r\n <>{pageModel.OwnedByLabel.Label};\r\n }\r\n return null;\r\n }\r\n function TextItem(props: { label: string, item: string }) {\r\n return (props.item &&\r\n \r\n {props.label}\r\n
    {props.item}
    \r\n
    \r\n ) || null\r\n }\r\n function NumberItem(props: { label: string, item: number }) {\r\n return (props.item &&\r\n \r\n {props.label}\r\n
    {props.item}
    \r\n
    \r\n ) || null\r\n }\r\n function getLegacyLink() {\r\n if (pageModel.Meta_Id) {\r\n const url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n const mystyle = {\r\n //color: \"rgba(0,0,0,.01)\",\r\n color: \"transparent\",\r\n //backgroundColor: \"rgba(0,0,0,.01)\",\r\n marginLeft: \"10px\"\r\n };\r\n return <>\r\n Legacy\r\n \r\n\r\n }\r\n return null;\r\n }\r\n const CompetencyCTID = styled.div`\r\n\tpadding: 0 10px;\r\n\tfont-size: 90%;\r\n`;\r\n const styles: { [key: string]: React.CSSProperties } = {\r\n tableContainer: {\r\n borderCollapse: 'collapse',\r\n },\r\n headerCell: {\r\n border: '0.5px solid #ddd',\r\n padding: '4px',\r\n textAlign: 'left',\r\n verticalAlign: 'top',\r\n backgroundColor: '#DCFAF9',\r\n width: '550px',\r\n fontWeight: 'normal',\r\n\r\n },\r\n dataCell: {\r\n border: '1px solid #ddd',\r\n padding: '4px',\r\n textAlign: 'left',\r\n verticalAlign: 'top',\r\n width: '550px',\r\n },\r\n cell: {\r\n border: '1px solid #ddd', \r\n padding: '4px',\r\n verticalAlign: 'top',\r\n textAlign: 'left',\r\n }\r\n };\r\n\r\n var typeLabel = widgetGetSingleLabelForText(\"Rubric\");\r\n return (\r\n \r\n\r\n Last updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {pageModel.Description && (\r\n \r\n \r\n {pageModel.Description}\r\n \r\n \r\n )}\r\n\r\n {pageModel.SubjectWebpage &&\r\n \r\n \r\n \r\n }\r\n {pageModel.LifeCycleStatusType && (\r\n \r\n \r\n \r\n \r\n )}\r\n {pageModel.InCatalog &&\r\n \r\n }\r\n\r\n {isFilled(pageModel.AudienceType) && (\r\n \r\n \r\n \r\n \r\n )}\r\n {isFilled(pageModel.AudienceLevelType) && (\r\n \r\n \r\n \r\n \r\n )}\r\n {isFilled(pageModel.EducationLevelType\r\n ) && (\r\n \r\n \r\n \r\n \r\n )}\r\n {isFilled(pageModel.DeliveryType) && (\r\n \r\n \r\n \r\n \r\n )}\r\n {isFilled(pageModel.EvaluatorType) && (\r\n \r\n \r\n \r\n \r\n )}\r\n {(pageModel.LatestVersion?.URL || pageModel.PreviousVersion?.URL || pageModel.NextVersion?.URL) &&\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 hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {pageModel.HasScope && (\r\n \r\n \r\n Has Scope: {pageModel.HasScope}\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 {pageModel?.RubricLevels?.map((level, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {pageModel?.RubricCriterions?.map((criterion, rowIndex) => (\r\n \r\n \r\n \r\n {pageModel?.RubricLevels?.map((level, colIndex) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n
    \r\n {/**/}\r\n {/* Type: Rubric Level*/}\r\n {/**/}\r\n {level.Name && (\r\n \r\n {level.Name}\r\n \r\n )}\r\n {level.Description && (\r\n \r\n {level.Description}\r\n \r\n )}\r\n {level.ListID && (\r\n \r\n List ID: {level.ListID}\r\n \r\n )}\r\n {level.CodedNotation && (\r\n \r\n Coded Notation: {level.CodedNotation}\r\n \r\n )}\r\n {level.HasProgressionLevel?.Values?.length > 0 && Has Progression Level:\r\n {level.HasProgressionLevel?.Values[0].Label}\r\n }\r\n
    \r\n {/**/}\r\n {/* Type: Rubric Criterion*/}\r\n {/**/}\r\n {criterion.Name && (\r\n \r\n {criterion.Name}\r\n \r\n )}\r\n {criterion.Description && (\r\n \r\n {criterion.Description}\r\n \r\n )}\r\n {criterion.CTID && (\r\n \r\n CTID:\r\n {criterion.CTID}\r\n \r\n )}\r\n {criterion.ListID && (\r\n \r\n List ID: {criterion.ListID}\r\n \r\n )}\r\n {criterion.CodedNotation && (\r\n \r\n Coded Notation: {criterion.CodedNotation}\r\n \r\n )}\r\n {criterion.Weight && (\r\n \r\n Weight: {criterion.Weight}\r\n \r\n )}\r\n {criterion.HasProgressionLevel?.Values?.length > 0 && Has Progression Level: \r\n {criterion.HasProgressionLevel?.Values[0].Label}\r\n }\r\n {criterion.TargetTask?.Values?.length > 0 && (\r\n \r\n TargetTask:\r\n
      \r\n {criterion.TargetTask?.Values.map((targettask, index) => (\r\n
    • \r\n {targettask.Label}\r\n
    • \r\n ))}\r\n
    \r\n
    \r\n )}\r\n {criterion.TargetCompetency?.Values?.length > 0 && (\r\n \r\n TargetCompetency:\r\n
      \r\n {criterion.TargetCompetency?.Values.map((targettask, index) => (\r\n
    • \r\n {targettask.Label}\r\n
    • \r\n ))}\r\n
    \r\n
    \r\n )}\r\n
    \r\n {level?.HasCriterionLevel?.map(criterionLevel => (\r\n criterion?.HasCriterionLevel?.some(c => c.RowId === criterionLevel.RowId) && (\r\n
    \r\n {/**/}\r\n {/* Type: Criterion Level*/}\r\n {/**/}\r\n {criterionLevel.BenchmarkLabel && (\r\n \r\n {criterionLevel.BenchmarkText ? (\r\n {criterionLevel.BenchmarkLabel}\r\n ) : (\r\n criterionLevel.BenchmarkLabel\r\n )}\r\n \r\n \r\n )}\r\n {criterionLevel.BenchmarkText && (\r\n \r\n {criterionLevel.BenchmarkText}\r\n \r\n )}\r\n {criterionLevel.ListID && (\r\n \r\n List ID: {criterionLevel.ListID}\r\n \r\n )}\r\n {criterionLevel.CodedNotation && (\r\n \r\n Coded Notation: {criterionLevel.CodedNotation}\r\n \r\n )}\r\n {criterionLevel.Feedback && (\r\n \r\n Feedback: {criterionLevel.Feedback}\r\n \r\n )}\r\n {criterionLevel.Value > 0 && (\r\n \r\n Value: {criterionLevel.Value}\r\n \r\n )}\r\n {criterionLevel.MaxValue > 0 && (\r\n \r\n Max Value: {criterionLevel.MaxValue}\r\n \r\n )}\r\n {criterionLevel.MinValue > 0 && (\r\n \r\n Min Value: {criterionLevel.MinValue}\r\n \r\n )}\r\n {criterionLevel.Percentage > 0 && (\r\n \r\n Percentage: {criterionLevel.Percentage}\r\n \r\n )}\r\n {criterionLevel.MaxPercentage > 0 && (\r\n \r\n Max Percentage: {criterionLevel.MaxPercentage}\r\n \r\n )}\r\n {criterionLevel.MinPercentage > 0 && (\r\n \r\n Min Percentage: {criterionLevel.MinPercentage}\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 Label: \"Details\",\r\n Content: (\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(m => m.Content != null)}\r\n />\r\n
    \r\n\r\n \r\n );\r\n}\r\n\r\n\r\n//\r\n","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport pageIcon from '../../assets/images/UpdatedIcons/CE-Icon_10-Support_Blue-Green_High-Res.png';\r\nimport costIcon from '../../assets/images/icons/icon-costs-and-time-blue-green-01.svg';\r\nimport Banner from '../../components/Banner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport {\r\n Description,\r\n FullWidthWrapper,\r\n InnerWrapper,\r\n Label, Section,\r\n Wrapper\r\n} from '../../components/DetailPage/styles';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { apiUrl, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport { SupportService } from '../../types/external';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport { isFilled } from '../../validation';\r\nimport CostManifestList from '../../components/DetailPage/CostManifest';\r\nimport CostProfileList from '../../components/DetailPage/CostProfile';\r\nimport DurationProfileList from '../../components/DetailPage/DurationProfile';\r\nimport LocationPageSection from '../../components/DetailPage/LocationPageSection';\r\nimport SubjectsAndKeywordsPageSection from \"../../components/DetailPage/SubjectsAndKeywordsPageSection\";\r\nimport OccupationsAndIndustriesSection from \"../../components/DetailPage/OccupationsAndIndustriesSection\";\r\nimport FinancialAssistance from \"../../components/DetailPage/FinancialAssistance\";\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport ConditionManifestList from \"../../components/DetailPage/ConditionManifest\";\r\nimport ConditionProfileList, { getConditionProfileListButtonName } from \"../../components/DetailPage/ConditionProfile\";\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport ConnectionsSection from \"../../components/DetailPage/ConnectionsSection\";\r\nimport { ModalType } from \"../../types/internal\";\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\n\r\n\r\n\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function SupportServicePage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n const [pageModel, setPageData] = useState({} as SupportService);\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n\tuseEffect(() => {\r\n getPageData(`${apiUrl}/SupportService/${id}`, (data: SupportService) => {\r\n setPageData(data);\r\n });\r\n }, [getPageData, id]);\r\n //\r\n\r\n function getSubTitleLink() {\r\n if (pageModel.OwnedByLabel && pageModel.OwnedByLabel.Label) {\r\n return pageModel.OwnedByLabel.URL ?\r\n {pageModel.OwnedByLabel.Label} :\r\n <>{pageModel.OwnedByLabel.Label};\r\n }\r\n return null;\r\n }\r\n\r\n\tconst [openedModal, setOpenedModal] = useState();\r\n\r\n function onOpenModalClick(modalType: ModalType) {\r\n return () => setOpenedModal(modalType);\r\n }\r\n\r\n function onCloseModalClick() {\r\n setOpenedModal(undefined);\r\n }\r\n\r\n\r\n\tfunction getLegacyLink() {\r\n if (pageModel.Meta_Id) {\r\n const url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n const mystyle = {\r\n //color: \"rgba(0,0,0,.01)\",\r\n color: \"transparent\",\r\n //backgroundColor: \"rgba(0,0,0,.01)\",\r\n marginLeft: \"10px\"\r\n };\r\n return <>\r\n Legacy\r\n \r\n\r\n }\r\n return null;\r\n }\r\n\t\r\n\tvar typeLabel = widgetGetSingleLabelForText(\"Support Service\");\r\n\r\n return (\r\n \r\n\r\n Last updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {pageModel.Description && (\r\n \r\n \r\n {pageModel.Description}\r\n \r\n \r\n )}\r\n\t\t\t\t\t\t\t{pageModel.AccommodationType && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{pageModel.SupportServiceType && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{pageModel.DeliveryType && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{pageModel.LifeCycleStatusType && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n {pageModel.SubjectWebpage &&\r\n \r\n \r\n \r\n }\r\n\r\n \r\n\t\t\t\t\t\r\n \r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{isFilled(pageModel.SupportServiceReferencedBy) &&\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t}\r\n\t\t\t\t\t{pageModel.IsSpecificServiceOf?.Values?.length > 0 && \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t 0 &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/* renderCollectionMemberDataV2(data, itemContainer, graph)} StyleComponent={CollectionMemberStyleBlock} />*/}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) || null\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tLabel: \"Details\",\r\n\t\t\t\t\t\t\tContent: (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{(isFilled(pageModel.CommonConditions) || isFilled(pageModel.SupportServiceConditon) || isFilled(pageModel.CommonCosts) || isFilled(pageModel.EstimatedCost) || isFilled(pageModel.FinancialAssistance)) &&\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{(isFilled(pageModel.CommonConditions) || isFilled(pageModel.SupportServiceConditon)) &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{(isFilled(pageModel.CommonCosts) || isFilled(pageModel.EstimatedCost) || isFilled(pageModel.FinancialAssistance)) &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t]}\r\n\t\t\t\t/>\r\n\t\t\t\r\n \r\n );\r\n}\r\n//","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport pageIcon from '../../assets/images/UpdatedIcons/CE-Icon_15-Tasks_Blue-Green_High-Res.png';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport Banner from '../../components/Banner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport {\r\n Description,\r\n FullWidthWrapper,\r\n InnerWrapper,\r\n Label, Section,\r\n Wrapper\r\n} from '../../components/DetailPage/styles';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { apiUrl, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport { Task } from '../../types/external';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport { isFilled } from '../../validation';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport ConditionProfileList, { getConditionProfileListButtonName } from \"../../components/DetailPage/ConditionProfile\";\r\nimport ConnectionsSection from \"../../components/DetailPage/ConnectionsSection\";\r\nimport { ModalType } from '../../types/internal';\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport { CompetencyFrameworkList } from '../../components/DetailPage/CompetencyFramework';\r\n\r\n\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function TaskPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n const [pageModel, setPageData] = useState({} as Task);\r\n const [openedModal, setOpenedModal] = useState();\r\n\r\n function onOpenModalClick(modalType: ModalType) {\r\n return () => setOpenedModal(modalType);\r\n }\r\n\r\n function onCloseModalClick() {\r\n setOpenedModal(undefined);\r\n }\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n useEffect(() => {\r\n getPageData(`${apiUrl}/Task/${id}`, (data: Task) => {\r\n debugger;\r\n setPageData(data);\r\n });\r\n }, [getPageData, id]);\r\n //\r\n\r\n function getSubTitleLink() {\r\n if (pageModel.OwnedByLabel && pageModel.OwnedByLabel.Label) {\r\n return pageModel.OwnedByLabel.URL ?\r\n {pageModel.OwnedByLabel.Label} :\r\n <>{pageModel.OwnedByLabel.Label};\r\n }\r\n return null;\r\n }\r\n\r\n function getLegacyLink() {\r\n if (pageModel.Meta_Id) {\r\n const url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n const mystyle = {\r\n //color: \"rgba(0,0,0,.01)\",\r\n color: \"transparent\",\r\n //backgroundColor: \"rgba(0,0,0,.01)\",\r\n marginLeft: \"10px\"\r\n };\r\n return <>\r\n Legacy\r\n \r\n\r\n }\r\n return null;\r\n }\r\n\r\n var typeLabel = widgetGetSingleLabelForText(\"Task\");\r\n\r\n return (\r\n \r\n\r\n Last updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {pageModel.Description && (\r\n \r\n \r\n {pageModel.Description}\r\n \r\n \r\n )}\r\n {pageModel.LifeCycleStatusType && (\r\n \r\n \r\n \r\n \r\n )}\r\n {pageModel.Classification &&\r\n \r\n \r\n {pageModel.Classification.Values.map((item, index) => (\r\n
    \r\n {item.URL ? (\r\n \r\n {item.Label}\r\n \r\n ) : (\r\n {item.Label}\r\n )}\r\n \r\n {item.Description}\r\n \r\n
    \r\n ))}\r\n
    \r\n }\r\n {pageModel.InCatalog &&\r\n \r\n }\r\n\r\n {/*{pageModel.SubjectWebpage &&*/}\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 hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n {/* }*/}\r\n {/* hideCount={true}*/}\r\n {/*/>*/}\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\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 React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport transferValueIcon from '../../assets/images/icons/icon-transfer-value-green-blue-01.svg';\r\nimport pageIcon from '../../assets/images/UpdatedIcons/CE-Icon_17-Transfer-Intermediary_Blue-Green_High-Res.png';\r\nimport Banner from '../../components/Banner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\n/*import ConditionProfileList from '../../components/DetailPage/ConditionProfile';*/\r\nimport ConditionProfileList, { getConditionProfileListButtonName } from './../../components/DetailPage/ConditionProfile';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport {\r\n Description,\r\n FullWidthWrapper,\r\n InnerWrapper,\r\n Label, Section,\r\n Wrapper\r\n} from '../../components/DetailPage/styles';\r\nimport ValueProfileList from '../../components/DetailPage/ValueProfile';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { apiUrl, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport { TransferIntermediary } from '../../types/external';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport { CompetencyFrameworkList } from '../../components/DetailPage/CompetencyFramework';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\n\r\n\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function TransferIntermediaryPage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n const [pageModel, setPageData] = useState({} as TransferIntermediary);\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n useEffect(() => {\r\n\t\tgetPageData(`${apiUrl}/transferintermediary/${id}`, (data: TransferIntermediary) => {\r\n\t\t\tsetPageData(data);\r\n });\r\n }, [getPageData, id]);\r\n\t//\r\n\r\n\tfunction getSubTitleLink() {\r\n\t\tif ( pageModel.OwnedByLabel && pageModel.OwnedByLabel.Label) {\r\n\t\t\treturn pageModel.OwnedByLabel.URL ?\r\n\t\t\t\t{pageModel.OwnedByLabel.Label} :\r\n\t\t\t\t<>{pageModel.OwnedByLabel.Label};\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tfunction getLegacyLink() {\r\n\t\tif ( pageModel.Meta_Id ) {\r\n\t\t\tconst url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n const mystyle = {\r\n //color: \"rgba(0,0,0,.01)\",\r\n color: \"transparent\",\r\n //backgroundColor: \"rgba(0,0,0,.01)\",\r\n marginLeft: \"10px\"\r\n };\r\n\t\t\treturn <>\r\n\t\t\t\tLegacy\r\n\t\t\t\t\r\n \r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\t\r\n\tvar typeLabel = widgetGetSingleLabelForText(\"Transfer Intermediary\");\r\n\r\n return (\r\n \r\n \r\n Last updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n } \r\n />\r\n \r\n \r\n \r\n \r\n \r\n {pageModel.Description && (\r\n \r\n \r\n {pageModel.Description}\r\n \r\n \r\n )}\r\n \r\n \r\n {pageModel.SubjectWebpage &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n {/*{pageModel.IntermediaryFor &&*/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/*}*/}\r\n \r\n\r\n {pageModel.CreditValue &&\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t \r\n \r\n\t\t\t\t\t\t\t\t \r\n }\r\n \r\n \r\n }\r\n />\r\n \r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* */} \r\n \r\n\t\t\t\t\r\n {/* {pageModel.IntermediaryFor &&*/}\r\n\t\t\t\t\t{/*\t*/}\r\n {/* */}\r\n\t\t\t\t\t{/*\t*/}\r\n\t\t\t\t\t{/*}*/}\r\n\r\n\r\n\t\t\t\t\t\r\n {(pageModel.RequiresCompetencies?.Values?.length > 0 ) &&\r\n \r\n }\r\n hideCount={true}\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 Label: \"Details\",\r\n Content: (\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n ].filter(m => m.Content != null)}\r\n />\r\n
    \r\n \r\n );\r\n}\r\n//","export default __webpack_public_path__ + \"static/media/icon-transfer-intermediary-blue-green-01.3bdcd76c.svg\";","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport {\r\n MobileAboutDetail,\r\n Description,\r\n Label,\r\n Wrapper,\r\n Inline,\r\n InlineLabel,\r\n Section,\r\n} from '../../components/DetailPage/styles';\r\nimport { apiUrl, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\n\r\nimport pageIcon from '../../assets/images/icons/icon-transfer-value-white-green-01.svg';\r\nimport transferValueIcon from '../../assets/images/icons/icon-transfer-value-green-blue-01.svg';\r\nimport transferIntermediaryIcon from '../../assets/images/icons/icon-transfer-intermediary-blue-green-01.svg';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport additionalInfoIcon from '../../assets/images/icons/icon-additional-information-blue-green-01.svg';\r\nimport processIcon from '../../assets/images/icons/icon-process-blue-green-01.svg';\r\nimport JSONLinkedDataModal from '../../components/DetailPage/JSONLinkedDataModal';\r\nimport Banner from '../../components/Banner';\r\nimport LinkObject, { PlainTextLink } from '../../components/DetailPage/LinkObject';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useMediaQuery, useGet } from '../../hooks';\r\nimport { ModalType } from '../../types/internal';\r\nimport { Link, TransferValue } from '../../types/external';\r\nimport { isFilled } from '../../validation';\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport ValueProfileList from '../../components/DetailPage/ValueProfile';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport ProcessProfileList from '../../components/DetailPage/ProcessProfile';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport ConnectionsSection from \"../../components/DetailPage/ConnectionsSection\";\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function TransferValuePage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n\t] = useGet();\r\n\r\n\tconst [ pageModel, setPageData ] = useState({} as TransferValue);\r\n\tconst startDate = pageModel.StartDate;\r\n\tconst endDate = pageModel.EndDate;\r\n\tconst [openedModal, setOpenedModal] = useState();\r\n\r\n\tfunction onOpenModalClick(modalType: ModalType) {\r\n\t\treturn () => setOpenedModal(modalType);\r\n\t}\r\n\r\n\tfunction onCloseModalClick() {\r\n\t\tsetOpenedModal(undefined);\r\n\t}\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n useEffect(() => {\r\n getPageData(`${apiUrl}/transfervalue/${id}`, (data: TransferValue) => {\r\n\t\t\tsetPageData(data);\r\n });\r\n }, [getPageData, id]);\r\n\t//\r\n\r\n\tfunction getSubTitleLink() {\r\n\t\tif ( pageModel.OwnedByLabel && pageModel.OwnedByLabel.Label) {\r\n\t\t\treturn pageModel.OwnedByLabel.URL ?\r\n\t\t\t\t{pageModel.OwnedByLabel.Label} :\r\n\t\t\t\t<>{pageModel.OwnedByLabel.Label};\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tfunction getLegacyLink() {\r\n\t\tif (pageModel.Meta_Id) {\r\n\t\t\tconst url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n\t\t\tconst mystyle = {\r\n\t\t\t\t//color: \"rgba(0,0,0,.01)\",\r\n\t\t\t\tcolor: \"transparent\",\r\n\t\t\t\t//backgroundColor: \"rgba(0,0,0,.01)\",\r\n\t\t\t\tmarginLeft: \"10px\"\r\n\t\t\t};\r\n\t\t\treturn <>\r\n\t\t\t\tLegacy\r\n\t\t\t\r\n\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvar typeLabel = widgetGetSingleLabelForText(\"Transfer Value\");\r\n\r\n return (\r\n \r\n \r\n Last updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n } \r\n />\r\n \r\n \r\n \r\n \r\n \r\n {pageModel.Description && (\r\n \r\n {pageModel.Description}\r\n \r\n )}\r\n \r\n\t\t\t\t\t\t\t\t\t{pageModel.SubjectWebpage &&\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{pageModel.LifeCycleStatusType && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{pageModel.InCatalog &&\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(pageModel.StartDate || pageModel.EndDate) && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t{(pageModel.LatestVersion?.URL || pageModel.PreviousVersion?.URL || pageModel.NextVersion?.URL || pageModel.Supersedes?.URL || pageModel.SupersededBy?.URL) &&\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t{pageModel.TransferValue && \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\thideCount={true}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{pageModel.TransferValueFrom &&\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t{pageModel.TransferValueFor &&\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t{pageModel.DerivedFrom &&\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\t\t\t\t\t\r\n\t\t\t\t\t{/*{pageModel.DerivedFrom?.Values?.length > 0 &&*/}\r\n\t\t\t\t\t{/*\t*/}\r\n\t\t\t\t\t{/*\t\t*/}\r\n\t\t\t\t\t{/*\t\t\t }*/}\r\n\t\t\t\t\t{/*\t\t\t/>*/}\r\n\t\t\t\t\t{/*\t\t*/}\r\n\t\t\t\t\t{/*\t*/}\r\n\t\t\t\t\t{/*}*/}\r\n\t\t\t\t\t{pageModel.HasIntermediaryFor &&\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t{/**/}\r\n\t\t\t\t\t\t\t{/*\t }*/}\r\n\t\t\t\t\t\t\t{/*\t/>*/}\r\n\t\t\t\t\t\t\t{/**/}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n \r\n\t);\r\n\tfunction TextItem(props: { label: string, item: string }) {\r\n\t\treturn (props.item &&\r\n\t\t\t\r\n\t\t\t\t{props.label}\r\n\t\t\t\t
    {props.item}
    \r\n\t\t\t
    \r\n\t\t) || null\r\n\t}\r\n\tfunction LinkItem(props: { label: string, item: any }) {\r\n\t\tif (!props.item) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tvar link = typeof (props.item) == \"string\" ? ({ Label: props.item, URL: props.item } as Link) : (props.item as Link);\r\n\t\treturn (link.URL &&\r\n\t\t\t\r\n\t\t\t\t{props.label}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t) || null\r\n\t}\r\n}\r\n//\r\n","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport aboutIcon from '../../assets/images/icons/icon-about-blue-green-01.svg';\r\nimport pageIcon from '../../assets/images/UpdatedIcons/CE-Icon_14-Work-Roles_Blue-Green_High-Res.png';\r\n\r\nimport connectionsIcon from '../../assets/images/icons/icon-connections-green-blue-01.svg';\r\nimport Banner from '../../components/Banner';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport AdditionalInformationPageSection from '../../components/DetailPage/AdditionalInformationPageSection';\r\nimport LinkObject from '../../components/DetailPage/LinkObject';\r\nimport OutlineList from '../../components/DetailPage/Outline';\r\nimport RelatedOrganizationPageSection from '../../components/DetailPage/RelatedOrganizationPageSection';\r\nimport {\r\n Description,\r\n FullWidthWrapper,\r\n InnerWrapper,\r\n Label, Section,\r\n Wrapper\r\n} from '../../components/DetailPage/styles';\r\nimport HasAnyFilled from '../../components/HasAnyFilled';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { ModalButtonAndWindow } from '../../components/Modal';\r\nimport PageSection from '../../components/PageSection';\r\nimport PageSectionItem from '../../components/PageSectionItem';\r\nimport { VStack } from '../../components/Stack';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { apiUrl, legacySourceUrl } from '../../shared/globals';\r\nimport { theme } from '../../shared/theme';\r\nimport { AJAXSettingsOutline, WorkRole } from '../../types/external';\r\nimport { detailSectionProperties } from '../../utils';\r\nimport SearchPills from '../../components/SearchPills';\r\nimport { isFilled } from '../../validation';\r\nimport { widgetGetPluralLabelForText, widgetGetSingleLabelForText } from \"../../utils/SiteWidgetizer\";\r\nimport { TabSetOrSingle } from '../../components/DetailPage/TabSelector';\r\nimport ConditionProfileList, { getConditionProfileListButtonName } from \"../../components/DetailPage/ConditionProfile\";\r\nimport ConnectionsSection from \"../../components/DetailPage/ConnectionsSection\";\r\nimport { ModalType } from '../../types/internal';\r\nimport DisplayPills from '../../components/PillDisplay';\r\nimport { CompetencyFrameworkList } from '../../components/DetailPage/CompetencyFramework';\r\n\r\n\r\n\r\ninterface Props {\r\n id: string;\r\n}\r\n\r\nexport default function WorkRolePage(props: RouteComponentProps) {\r\n const id = props.match.params.id;\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n const [pageModel, setPageData] = useState({} as WorkRole);\r\n const [openedModal, setOpenedModal] = useState();\r\n const [knowledgeEmbodied, setKnowledgeEmbodied] = useState({} as AJAXSettingsOutline);\r\n const [abilityEmbodied, setAbilityEmbodied] = useState({} as AJAXSettingsOutline);\r\n const [skillEmbodied, setSkillEmbodied] = useState({} as AJAXSettingsOutline);\r\n\r\n function onOpenModalClick(modalType: ModalType) {\r\n return () => setOpenedModal(modalType);\r\n }\r\n\r\n function onCloseModalClick() {\r\n setOpenedModal(undefined);\r\n }\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n useEffect(() => {\r\n getPageData(`${apiUrl}/WorkRole/${id}`, (data: WorkRole) => {\r\n setPageData(data);\r\n });\r\n }, [getPageData, id]);\r\n //\r\n \r\n function getSubTitleLink() {\r\n if (pageModel.OwnedByLabel && pageModel.OwnedByLabel.Label) {\r\n return pageModel.OwnedByLabel.URL ?\r\n {pageModel.OwnedByLabel.Label} :\r\n <>{pageModel.OwnedByLabel.Label};\r\n }\r\n return null;\r\n }\r\n\r\n function getLegacyLink() {\r\n if (pageModel.Meta_Id) {\r\n const url = legacySourceUrl + \"/\" + pageModel.BroadType + \"/\" + pageModel.Meta_Id;\r\n const mystyle = {\r\n //color: \"rgba(0,0,0,.01)\",\r\n color: \"transparent\",\r\n //backgroundColor: \"rgba(0,0,0,.01)\",\r\n marginLeft: \"10px\"\r\n };\r\n return <>\r\n Legacy\r\n \r\n\r\n }\r\n return null;\r\n }\r\n\t\r\n var typeLabel = widgetGetSingleLabelForText(\"Work Role\");\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (pageModel.CTID != null) {\r\n try {\r\n await getPageData(`${apiUrl}/GetCompetencies/${pageModel.CTID}`, (data: WorkRole) => {\r\n setKnowledgeEmbodied(data.KnowledgeEmbodied);\r\n setAbilityEmbodied(data.AbilityEmbodied);\r\n setSkillEmbodied(data.SkillEmbodied);\r\n });\r\n } catch (error) {\r\n console.error(\"Error fetching data:\", error);\r\n }\r\n }\r\n };\r\n fetchData();\r\n }, [pageModel.CTID]);\r\n\r\n return (\r\n \r\n\r\n Last updated: {pageModel.Meta_LastUpdatedHeader} {getLegacyLink()}\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {pageModel.Description && (\r\n \r\n \r\n {pageModel.Description}\r\n \r\n \r\n )}\r\n {pageModel.LifeCycleStatusType && (\r\n \r\n \r\n \r\n \r\n )}\r\n {pageModel.Classification &&\r\n \r\n \r\n {pageModel.Classification.Values.map((item, index) => (\r\n
    \r\n {item.URL ? (\r\n \r\n {item.Label}\r\n \r\n ) : (\r\n {item.Label}\r\n )}\r\n \r\n {item.Description}\r\n \r\n
    \r\n ))}\r\n
    \r\n }\r\n {pageModel.InCatalog &&\r\n \r\n }\r\n {/*{pageModel.SubjectWebpage &&*/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/*}*/}\r\n\r\n \r\n \r\n\t\t\t\t\t\r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n {/* }*/}\r\n {/* hideCount={true}*/}\r\n {/*/>*/}\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n }\r\n hideCount={true}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n//\r\n","export default __webpack_public_path__ + \"static/media/icon-credential-benchmark-report-white-green-01.c4d7cdd1.svg\";","import React, { Dispatch, SetStateAction, useEffect, useState } from 'react';\r\nimport { faInfoCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n//updates for data table testing\r\n//yarn add react-data-table-component styled-components\r\nimport ReactDOM from \"react-dom\";\r\nimport DataTable from \"react-data-table-component\";\r\nimport axios from 'axios';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport InnerHTML from 'dangerously-set-html-content';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport styled from 'styled-components/macro';\r\nimport pageIcon from '../../assets/images/icons/icon-credential-benchmark-report-white-green-01.svg';\r\nimport credentials_icon from '../../assets/images/icons/icon-credentials-white-green-01.svg';\r\nimport organizations_icon from '../../assets/images/icons/icon-organization-white-green-01.svg';\r\nimport assessments_icon from '../../assets/images/icons/icon-assessments-white-green-01.svg';\r\nimport learning_opportunities_icon from '../../assets/images/icons/icon-learning-opportunities-white-green-01.svg';\r\nimport costmanifest_icon from '../../assets/images/icons/icon-slider-credential-providers-01.svg';\r\nimport conditionmanifest_icon from '../../assets/images/icons/icon-slider-credential-providers-01.svg';\r\nimport pathways_icon from '../../assets/images/icons/icon-pathways-white-green-01.svg';\r\nimport transfervalue_icon from '../../assets/images/icons/icon-transfer-value-white-green-01.svg';\r\nimport transferintermediary_icon from '../../assets/images/icons/icon-transfer-value-white-green-01.svg';\r\nimport Error from '../../components/Error';\r\nimport { apiUrl } from '../../shared/globals';\r\nimport { legacySourceUrl } from '../../shared/globals';\r\nimport { WhiteLink } from '../../components/Banner/styles';\r\nimport { Wrapper } from '../../components/Error/styles';\r\nimport LoadingOrError from '../../components/LoadingOrError';\r\nimport { VStack } from '../../components/Stack';\r\nimport { PageDescription, PageSection, PageTitle } from '../HomePage/styles';\r\nimport { StyledHelpanel } from './styles';\r\nimport { useGet, useMediaQuery } from '../../hooks';\r\nimport { theme } from '../../shared/theme';\r\nimport { BenchmarkReport } from '../../types/external';\r\nimport Banner from '../../components/Banner';\r\n//not used\r\ninterface Props {\r\n benchmarkType: string;\r\n}\r\n\r\nexport default function ReportsBenchmarkPage(props: RouteComponentProps) {\r\n let benchmarkType = props.match.params.benchmarkType;\r\n if(benchmarkType == null) {\r\n benchmarkType = \"credential\";\r\n }//\r\n //Setup tabs/entities. On change of currentEntity, the getPageData UseEffect will be called.\r\n //ISSUE: the whole page is being refreshed, rather than just the benchmarks\r\n\tconst [currentEntity, setCurrentEntity] = useState(\"credential\");\r\n function getLegacyLink() {\r\n const url = legacySourceUrl + \"/Reports/BenchmarkReport/\"\r\n const mystyle = {\r\n color: \"transparent\",\r\n //backgroundColor: \"#0a2942\",\r\n marginLeft: \"10px\"\r\n };\r\n return <>\r\n Legacy Version\r\n \r\n\r\n\t}\r\n const [\r\n pageDataIsLoading,\r\n pageDataHasError,\r\n getPageData,\r\n ] = useGet();\r\n // const [loading, setLoading] = useState(false);\r\n const [pageContent, setPageContent] = useState({} as BenchmarkReport);\r\n\r\n const isMobile = useMediaQuery({\r\n query: `(max-width: ${theme.breakpoint.tabletPortrait})`,\r\n });\r\n\r\n const url = `${apiUrl}/reports/benchmarks/` + currentEntity;\r\n useEffect(() => {\r\n getPageData(`${apiUrl}/reports/benchmarks/${currentEntity}`, (data: BenchmarkReport) => {\r\n\t\t\tsetPageContent(data);\r\n });\r\n }, [getPageData, currentEntity]);\r\n\r\n \r\n //These columns have a text box for filtering. For example, in the \"Policy\" column type in \"Recommended\" to only show Labels that are not required but are recommended in the Minimum data policy. \r\n return (\r\n \r\n This report is a count of CTDL terms by class published to the Credential Registry. Select any of the classes from the top of this page. The \"Label\" column represents the CTDL terms. The \"Policy\" column is based on the Credential Registry Minimum Data Policy. The policy also identifies Recommended Benchmarks as models to include more comprehensive data that includes information valuable to different consumers, providers, employers, and agencies. The \"Policy\" column also includes some other types:\r\n
    \r\n
      \r\n
    • Requires OwnedBy or OfferedBy - At least of one OwnedBy or OfferedBy must be provided.
    • \r\n
    • Required Conditionally - At least one of the properties that are required conditionally must be entered.
    • \r\n
    \r\n
    \r\n {getLegacyLink()} \r\n \r\n } \r\n />\r\n \r\n \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\t\t\t\t\r\n\r\n\r\n \r\n
    \r\n \r\n {pageContent.BenchmarkType && (\r\n

    \r\n {pageContent.BenchmarkType}\r\n

    \r\n )}\r\n {pageContent.Benchmarks && (\r\n
    \r\n
    \r\n
    Label
    \r\n
    Policy
    \r\n
    Total
    \r\n
    Percent Of Overall Total
    \r\n
    \r\n
    \r\n {pageContent.Benchmarks.map((profile) => ( \r\n
    \r\n
    {profile.Label}
    \r\n
    {profile.Policy}
    \r\n
    {profile.Total.toLocaleString()}
    \r\n
    {profile.PercentOfOverallTotal}
    \r\n
    \r\n ))} \r\n
    \r\n
    \r\n )}\t\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\n\r\nfunction ReportTabButton(props: { broadType: string, currentEntity: string, label: string, icon: string, onClick: Dispatch> }) {\r\n\treturn (\r\n\t\t props.onClick(props.broadType)} className={props.currentEntity == props.broadType ? \"currentEntity\" : \"\"}>\r\n\t\t\t\"\"\r\n\t\t\t{props.label}\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst StyledReportTabButton = styled.button`\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tpadding: 10px 20px;\r\n\tbackground-color: transparent;\r\n\tborder: none;\r\n\tcolor: inherit;\r\n\tborder-bottom: 2px solid transparent;\r\n\r\n\t&:hover, &:focus {\r\n\t\tbackground-color: rgba(255, 255, 255, 0.2);\r\n\t}\r\n\r\n\t&.currentEntity {\r\n\t\topacity: 1;\r\n\t\tfont-weight: bold;\r\n\t\tborder-color: ${(props) => props.theme.color.aquaDark};\r\n\t}\r\n\r\n\t& img {\r\n\t\twidth: 30px;\r\n\t\tmargin-right: 10px;\r\n\t}\r\n\r\n\t@media(max-width: 675px){\r\n\t\twidth: 100%;\r\n\t\ttext-align: left;\r\n\t\tborder-bottom: none;\r\n\t\tborder-left: 5px solid transparent;\r\n\t}\r\n`;\r\nconst ReportTabButtons = styled.div`\r\n\tdisplay: flex;\r\n\talign-items: stretch;\r\n\tmargin: 0 auto;\r\n background-color: ${(props) => props.theme.color.greyLight};\r\n\t@media(max-width: 1000px) {\r\n\t\torder: 3;\r\n\t}\r\n\r\n\t@media(max-width: 675px){\r\n\t\tdisplay: block;\r\n\t\tmargin: 0;\r\n\t\twidth: 100%;\r\n\t}\r\n`;","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport styled from 'styled-components/macro';\r\nimport { legacySourceUrl } from '../../shared/globals';\r\nimport axios from 'axios';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport Error from '../../components/Error';\r\nimport InnerHTML from 'dangerously-set-html-content';\r\n\r\nexport default function WidgetPage(props: RouteComponentProps) {\r\n\tconst [loading, setLoading] = useState(false);\r\n\tconst [pageContent, setPageContent] = useState(' ');\r\n\tconst [error, setError] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetLoading(true);\r\n\t\tconst url = `${legacySourceUrl}/widget?coreonly=true`;\r\n\t\taxios\r\n\t\t\t.get(url)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tsetPageContent(res.data);\r\n\t\t\t\tsetLoading(false);\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t\tsetError(true);\r\n\t\t\t\tsetLoading(false);\r\n\t\t\t});\r\n\t}, []);\r\n\tif (loading) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\tif (error) {\r\n\t\treturn ;\r\n\t}\r\n\treturn ;\r\n}\r\n\r\nconst LoadingIndicatorWrapper = styled.div`\r\n text-align: center;\r\n padding: 50px;\r\n`;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport styled from 'styled-components/macro';\r\nimport { legacySourceUrl } from '../../shared/globals';\r\nimport axios from 'axios';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport Error from '../../components/Error';\r\nimport InnerHTML from 'dangerously-set-html-content';\r\n\r\nexport default function WidgetConfigurePage(props: RouteComponentProps) {\r\n\tconst [loading, setLoading] = useState(false);\r\n\tconst [pageContent, setPageContent] = useState(' ');\r\n\tconst [error, setError] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetLoading(true);\r\n\t\tconst url = `${legacySourceUrl}/widget/configurev2?coreonly=true`;\r\n\t\taxios\r\n\t\t\t.get(url)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tsetPageContent(res.data);\r\n\t\t\t\tsetLoading(false);\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t\tsetError(true);\r\n\t\t\t\tsetLoading(false);\r\n\t\t\t});\r\n\t}, []);\r\n\tif (loading) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\tif (error) {\r\n\t\treturn ;\r\n\t}\r\n\treturn ;\r\n}\r\n\r\nconst LoadingIndicatorWrapper = styled.div`\r\n text-align: center;\r\n padding: 50px;\r\n`;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport styled from 'styled-components/macro';\r\nimport { legacySourceUrl } from '../../shared/globals';\r\nimport axios from 'axios';\r\nimport ActivityIndicator from '../../components/ActivityIndicator';\r\nimport Error from '../../components/Error';\r\nimport InnerHTML from 'dangerously-set-html-content';\r\n\r\nexport default function WidgetConfigurePage(props: RouteComponentProps) {\r\n\tconst [loading, setLoading] = useState(false);\r\n\tconst [pageContent, setPageContent] = useState(' ');\r\n\tconst [error, setError] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetLoading(true);\r\n\t\tconst url = `${legacySourceUrl}/widget/searchwidget?coreonly=true`;\r\n\t\taxios\r\n\t\t\t.get(url)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tsetPageContent(res.data);\r\n\t\t\t\tsetLoading(false);\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t\tsetError(true);\r\n\t\t\t\tsetLoading(false);\r\n\t\t\t});\r\n\t}, []);\r\n\tif (loading) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\tif (error) {\r\n\t\treturn ;\r\n\t}\r\n\treturn ;\r\n}\r\n\r\nconst LoadingIndicatorWrapper = styled.div`\r\n text-align: center;\r\n padding: 50px;\r\n`;\r\n","import React, { useEffect, useState } from 'react';\r\nimport {\r\n BrowserRouter as Router,\r\n Switch,\r\n Route,\r\n useLocation,\r\n\tRedirect,\r\n\tuseHistory\r\n} from 'react-router-dom';\r\nimport { createBrowserHistory } from 'history';\r\nimport styled, { ThemeProvider } from 'styled-components/macro';\r\nimport { theme } from './shared/theme';\r\nimport GlobalStyle from './components/GlobalStyle';\r\nimport ReactGA from 'react-ga';\r\n\r\nimport TestPage from './pages/TestPage';\r\nimport HomePage from './pages/HomePage';\r\nimport ReportDataPage from './pages/ReportsDataPage';\r\nimport Header from './components/Header';\r\nimport OrganizationPage from './pages/OrganizationPage';\r\nimport Footer from './components/Footer';\r\nimport SearchPage from './pages/SearchPage';\r\nimport ComparePage from './pages/ComparePage';\r\nimport CompetencyPage from './pages/CompetencyPage';\r\n//Help: what is supposed to be in this import? Only compare related classes?\r\nimport { MainItemBroadType } from './types/internal';\r\nimport { MainQueryType, Filter } from './types/external';\r\nimport CompareSelectedListPanel from './components/CompareSelectedListPanel';\r\nimport { BUCKET_STORAGE, initializeFilterSearchApiUrl, googleAnalyticsID, appURL } from './shared/globals';\r\nimport axios from 'axios';\r\n//import { convertFilterItemToIFilterItem } from './types/converters';\r\nimport { defaultQuery } from './shared/data';\r\n\r\nimport AssessmentPage from './pages/AssessmentPage';\r\nimport CollectionPage from './pages/CollectionPage';\r\nimport CollectionPageV2 from './pages/CollectionPage/indexv2';\r\nimport CompetencyFrameworkPage from './pages/CompetencyFrameworkPage';\r\nimport CompetencyFrameworkPageV2 from './pages/CompetencyFrameworkPage/indexv2';\r\nimport ConceptSchemePage from './pages/ConceptSchemePage';\r\nimport CredentialPage from './pages/CredentialPage';\r\nimport CredentialingActionPage from './pages/CredentialingActionPage';\r\n\r\nimport DataSetProfilePage from './pages/DataSetProfilePage';\r\nimport IndustryPage from './pages/IndustryPage';\r\nimport JobPage from './pages/JobPage';\r\nimport LearningOpportunityPage from './pages/LearningOpportunityPage';\r\nimport MetricPage from './pages/MetricPage';\r\nimport OccupationPage from './pages/OccupationPage';\r\nimport OutcomeDataPage from './pages/DataSetProfilePage';\r\n\r\nimport PathwayComponentPage from './pages/PathwayComponentPage/index';\r\nimport PathwayPage from './pages/PathwayPage';\r\nimport PathwayPageV2 from './pages/PathwayPage/indexv2';\r\nimport PathwayPageV3 from './pages/PathwayPage/indexv3';\r\nimport PathwaySetPage from './pages/PathwaySetPage';\r\nimport ProgressionModelPage from './pages/ProgressionModelPage';\r\nimport QualificationsFrameworkPage from './pages/QualificationsFrameworkPage';\r\nimport AlignmentMapPage from './pages/AlignmentMapPage';\r\nimport ResourcesPage from './pages/ResourcesPage';\r\nimport RubricPage from './pages/RubricPage';\r\nimport ScheduledOfferingPage from './pages/ScheduledOfferingPage';\r\nimport SupportServicePage from './pages/SupportServicePage';\r\nimport TaskPage from './pages/TaskPage';\r\nimport TransferIntermediaryPage from './pages/TransferIntermediaryPage';\r\nimport TransferValuePage from './pages/TransferValuePage';\r\nimport WorkRolePage from './pages/WorkRolePage';\r\n\r\nimport BenchmarkReportPage from './pages/BenchmarkReportPage';\r\nimport WidgetPage from './pages/WidgetPage';\r\nimport WidgetConfigurePage from './pages/WidgetConfigurePage';\r\nimport { fab } from '@fortawesome/free-brands-svg-icons';\r\nimport { fas } from '@fortawesome/free-solid-svg-icons';\r\nimport { library } from '@fortawesome/fontawesome-svg-core';\r\nimport WidgetViewPage from './pages/WidgetViewPage';\r\nimport handleSiteWidgetization from './utils/SiteWidgetizer.js';\r\n\r\nimport { updateCurrentQuery } from \"./utils/SearchHelper\";\r\nlibrary.add(fab);\r\nlibrary.add(fas);\r\n\r\nhandleSiteWidgetization();\r\n\r\nconst AppWrapper = styled.div`\r\n display: flex;\r\n max-width: ${(props) => props.theme.maxWidth};\r\n margin: auto;\r\n justify-content: center;\r\n`;\r\n\r\nconst MainContent = styled.div<{ inOffset: boolean }>`\r\n max-width: 100%;\r\n @media (max-width: ${(props) => props.theme.breakpoint.tabletPortrait}) {\r\n max-width: 100%;\r\n }\r\n flex: 1;\r\n`;\r\n\r\nexport interface FilterContext {\r\n [key: string]: Filter[];\r\n}\r\n\r\nexport interface QueryContext {\r\n query: MainQueryType;\r\n updateQuery: (query: MainQueryType) => void;\r\n resetQuery: () => void;\r\n}\r\n\r\nconst emptyFilters = {\r\n organization: [],\r\n credential: [],\r\n assessment: [],\r\n\tcompetencyframework: [],\r\n\tcollection: [],\r\n pathway: [],\r\n pathwayset: [],\r\n learningopportunity: [],\r\n //supportservice: [],\r\n //scheduledoffering: {},\r\n transfervalue: [],\r\n transferintermediary: [],\r\n creddentialingaction:[],\r\n};\r\n\r\nexport const FilterContext = React.createContext(emptyFilters);\r\n\r\nexport const QueryContext = React.createContext({\r\n query: defaultQuery,\r\n updateQuery: () => {},\r\n resetQuery: () => {},\r\n});\r\n\r\n\r\nfunction App() {\r\n const [filters, setFilters] = useState(emptyFilters);\r\n const [query, setQuery] = useState(defaultQuery);\r\n const [showComparePanel, setShowComparePanel] = useState(false);\r\n\r\n function updateQuery(newQuery: MainQueryType) {\r\n setQuery(newQuery);\r\n }\r\n\r\n function resetQuery() {\r\n setQuery(defaultQuery);\r\n }\r\n\r\n useEffect(() => {\r\n const cookies = document.cookie;\r\n if (cookies) {\r\n const crendentialfinder = cookies\r\n .split('; ')\r\n .find((row) => row.startsWith('credentialfinder'));\r\n if (!crendentialfinder) {\r\n window.localStorage.removeItem(BUCKET_STORAGE);\r\n }\r\n } else {\r\n window.localStorage.removeItem(BUCKET_STORAGE);\r\n // set cookies\r\n }\r\n document.cookie = 'credentialfinder=true';\r\n\r\n\t\t//get widget ID\r\n\t\tvar widgetParam = \"\";\r\n\t\tnew URLSearchParams(window.location.search).forEach(function (value, key) {\r\n\t\t\tif (key.toLowerCase() == \"widgetid\") {\r\n\t\t\t\twidgetParam = value;\r\n\t\t\t}\r\n\t\t});\r\n\t\tvar widgetID = (window as any).Widget?.ID || widgetParam;\r\n\r\n // get all filters\r\n function getFilterByBroadType(broadType: string) {\r\n return new Promise(async (resolve, reject) => {\r\n const filterURL = `${initializeFilterSearchApiUrl}/${broadType}` + \"?widgetid=\" + widgetID;\r\n try {\r\n const res = await axios.get(filterURL);\r\n const data = res.data;\r\n if (data.Successful) {\r\n resolve(data.Result?.Filters || []);\r\n } else {\r\n throw data;\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n resolve([]);\r\n }\r\n });\r\n }\r\n\r\n const fetchFilters = [\r\n 'organization',\r\n 'credential',\r\n 'assessment',\r\n 'learningopportunity',\r\n\t\t\t'pathway',\r\n\t\t\t'pathwayset',\r\n 'competencyframework',\r\n 'collection',\r\n 'occupation', 'job', 'workrole','task',\r\n 'credentialingaction',\r\n 'supportservice',\r\n 'scheduledoffering',\r\n 'conceptscheme', 'progressionmodel',\r\n 'outcomedata', 'datasetprofile',\r\n 'transfervalue',\r\n 'transferintermediary',\r\n 'alignmentmap',\r\n 'qualificationsframework',\r\n 'rubric',\r\n 'metric',\r\n 'industry' \r\n ].map((broadType) => getFilterByBroadType(broadType));\r\n\r\n //NOTE: the order of the following constants must match the related type from \"fetchFilters \"above\r\n\t\tPromise.all(fetchFilters).then((values) => {\r\n const [\r\n organizationFilter,\r\n credentialFilter,\r\n assessmentFilter,\r\n learningOpportunityFilter,\r\n pathwayFilter,\r\n pathwaySetFilter,\r\n competencyFrameworkFilter,\r\n collectionFilter,\r\n occupationFilter, jobFilter, workRoleFilter,taskFilter,\r\n credentialingActionFilter,\r\n supportServiceFilter,\r\n scheduledOfferingFilter,\r\n conceptSchemeFilter,\r\n progressionModelFilter,\r\n outcomeDataFilter,\r\n blankFilter,\r\n transferValueFilter,\r\n transferIntermediaryFilter,\r\n rubricFilter,\r\n metricFilter,\r\n alignmentMapFilter,\r\n qualificationsFrameworkFilter,\r\n industryFilter\r\n ] = values;\r\n\r\n function convertData(filter: Filter) {\r\n const items = filter.Items;\r\n\t\t\t\tif (items) {\r\n\t\t\t\t\t/*\r\n const itemsWithIdentifier = items.map((item) =>\r\n convertFilterItemToIFilterItem(item),\r\n );\r\n\t\t\t\t\treturn { ...filter, Items: itemsWithIdentifier };\r\n\t\t\t\t\t*/\r\n\t\t\t\t\treturn { ...filter, Items: items };\r\n }\r\n return { ...filter, Items: [] };\r\n }\r\n //debugger;\r\n\t\t\tvar convertedFilters = {\r\n\t\t\t\torganization: organizationFilter.map(convertData),\r\n\t\t\t\tcredential: credentialFilter.map(convertData),\r\n\t\t\t\tassessment: assessmentFilter.map(convertData),\r\n\t\t\t\tlearningopportunity: learningOpportunityFilter.map(convertData),\r\n\t\t\t\tpathway: pathwayFilter.map(convertData),\r\n\t\t\t\tpathwayset: pathwaySetFilter.map(convertData),\r\n\t\t\t\tcompetencyframework: competencyFrameworkFilter.map(convertData),\r\n\t\t\t\tcollection: collectionFilter.map(convertData),\r\n\t\t\t\tscheduledoffering: scheduledOfferingFilter.map(convertData),\r\n\t\t\t\tsupportservice: supportServiceFilter.map(convertData),\r\n\t\t\t\tconceptscheme: conceptSchemeFilter.map(convertData),\r\n\t\t\t\tprogressionmodel: progressionModelFilter.map(convertData),\r\n\t\t\t\toutcomedata: outcomeDataFilter.map(convertData),\r\n\t\t\t\toccupation: occupationFilter.map(convertData),\r\n\t\t\t\tjob: jobFilter.map(convertData),\r\n\t\t\t\ttask: taskFilter.map(convertData),\r\n workrole: workRoleFilter.map(convertData),\r\n credentialingaction: credentialingActionFilter.map(convertData),\r\n\t\t\t\t//21-08-23 mp - uncommented this as filters were needed. \r\n\t\t\t\t//22-04-01 mp - got an undefined error on this?\r\n\t\t\t\t//22-12-06 mp - enabled\r\n\t\t\t\ttransfervalue: transferValueFilter.map(convertData),\r\n\t\t\t\t//??\r\n\t\t\t\ttransferintermediary: transferIntermediaryFilter.map(convertData),\r\n rubric:rubricFilter.map(convertData),\r\n metric: metricFilter.map(convertData),\r\n qualificationsframework: qualificationsFrameworkFilter.map(convertData),\r\n alignmentmap: alignmentMapFilter.map(convertData),\r\n industry: industryFilter.map(convertData),\r\n\t\t\t};\r\n\r\n\t\t\t(window as any).SearchFilters = convertedFilters;\r\n\t\t\tsetFilters(convertedFilters);\r\n updateCurrentQuery();\r\n });\r\n }, []);\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {/* Place all global styles for the application here */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\tsetShowComparePanel(!showComparePanel)\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tshowCompareButton={\r\n\t\t\t\t\t\t\t\t\t\t\t\t!showComparePanel\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tcomparePanel={\r\n\t\t\t\t\t\t\t\t\t\t\t\tshowComparePanel ?\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetShowComparePanel(false)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\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\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\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\t\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\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//Google analytics\r\nfunction PageViewTracker() {\r\n\tconst [currentTrackedPage, setCurrentTrackedPage] = useState(\"\");\r\n\t//const browserHistory = useHistory(); //Doesn't seem to work?\r\n\tconst location = useLocation();\r\n\tconst locationPathName = location.pathname;\r\n\r\n\tuseEffect(() => {\r\n\t\tif (appURL == \"https://credentialfinder.org\" && currentTrackedPage != locationPathName) {\r\n\t\t\tsetCurrentTrackedPage(locationPathName);\r\n\t\t\tReactGA.initialize(googleAnalyticsID);\r\n\t\t\tReactGA.set({ page: locationPathName });\r\n\t\t\tconsole.log(\"Page View:\", locationPathName);\r\n\t\t\tReactGA.pageview(locationPathName);\r\n\t\t}\r\n\t}, [locationPathName]);\r\n\r\n\treturn (<>);\r\n}\r\n\r\nfunction ScrollToTop(props: any) {\r\n const location = useLocation();\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n }, [location.pathname]);\r\n return props.children;\r\n}\r\n\r\nexport default App;\r\n","import { ReportHandler } from 'web-vitals';\r\n\r\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './App';\r\nimport reportWebVitals from './reportWebVitals';\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root'),\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"sourceRoot":""}