From 7e7812d1b5c26ae8494c8781e07e1bf70a6db35b Mon Sep 17 00:00:00 2001 From: Mike Joyce Date: Sat, 24 Aug 2019 21:42:47 -0400 Subject: [PATCH] dev -> staging (#379) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Trigger build (#199) * Hide Posted date on projected vacancies (#200) * Add Markdown editor to About page ## uses fake permissions and requests * Differentiate between full bidding that will eventually be handled by TalentMAP, versus what will be available in FSBid; set this in a feature flag * Add ability to edit home page banner content ## WIP - Uses fake API requests and wrong permissions * Use older version of react-loading-skeleton that is compatible with node v6 * Update snapshot * Add loading state to search filters * Add Administrator page, ability to download log file * WIP - Log page * Test coverage * Editable Content Areas section * Update link for Featured Positions * Full page for notifications * Implement bulk actions * Update search placeholder * Integrate banner with new endpoint * UI for Admin Data Sync Management # Not connected to API * Add cancel token and dispatch handling * Connect to sync jobs listing * Update profile menu link order, notifications icon link, style tweak * Make search input label consistent across home page and results page * Wrap PV network requests in feature flag * Ability to run all syncs * Update config_dev.json * Use fake endpoint to mock functionality for demo purposes * Increase button margin * Update button text, update link to to Notifications page * Fix glossary search button margin * Use date_created to display notification time (#227) * Expands the skill accordion when the user selects the parent checkbox * Remove the "Are you sure" prompt from the Clear Filters button * Display OBC URLs on search results cards (#230) * Update search query to use latest keyword value when a filter is selected * Replace all uses of "Post" with "Location" (#232) * Remove Post tag from pills (#243) * Update and test About page endpoint and component to use real API (#233) * Homepage banner (#236) * Feature/homepage banner redesign (#237) * Homepage banner * Update design to header, footer and homepage banner * Remove snapshot since the component uses generated keys * Fix double render when position is 0 * Remove unnecessary border, increase min-height * Remove gov banner (#240) * Homepage banner * Update design to header, footer and homepage banner * Remove snapshot since the component uses generated keys * Fix double render when position is 0 * Remove gov banner, move gold banner below main header * Update snapshot * Remove unnecessary border, increase min-height * Removes the third row of cards on the Home page (#245) * Simplify the saved search process (#242) * Simplify the saved search process * Remove unused * Feature/glossary redesign (#239) * Homepage banner * Update design to header, footer and homepage banner * Redesign Glossary, group terms by first letter * Remove snapshot since the component uses generated keys * Fix double render when position is 0 * Remove unnecessary border, increase min-height * Move glossary close button z-index to variable * Additional test coverage (#244) * Additional test coverage * More tests, consolidate some component test props * Resolve a bad merge that deleted the logic to grab the latest keyword search value * Hide Clear Filters link if no filters are selected (#247) * Ability to clear search term and re-run query (#248) * Ability to saved save search for projected vacancy * Featured Ribbon (#251) * Add Ribbon for featured positions * Add styles and configure Featured component so that additional ribbons can be added to cards and details in the future * Catch profile-related network failures (#252) * Use q.allSettled when fetching account info so that one bad request doesn't break everything * Change defaults from empty array to empty object * Display message if results query has errored * Bidder Portfolio -> Client Profiles * Update background gradient so that the image is visible on State Department monitors * Align "select" all button with notification check boxes * Make condensed card header clickable (#259) * Increase test coverage to >98% (#253) * [WIP] staging/1.1 fixes -> dev (#249) * sprint-10 -> staging (#201) * fix: use correct button design * fix: use lodash get so that non-existent nested property doesn't throw error (#45) * Use lodash get so that non-existent nested property doesn't throw error * Check for details.id so that components don't render with an empty object * Align bid count with data points in ResultsCondensedCard * Show "Available" filter to all users, not just CDOs (#46) * Update dashboard styles and content based on QA * Fix style for bid list container * Move Bid Count in-line with data points on ResultsCard * View More -> View more * Add disabled state for BidListButton based on proposed API updates * Use real properties from API PR, combine strings * Use white for button text color * feature: add remove bid to the bid tracker for draft and submitted bids * add additional status to the canDeleteBid function * Add react-toastify and use with bid list additions/removals (#51) * Add react-toastify and use with bid list additions/removals * More tests for toast-related functionality * Check if bid can be deleted and apply disabled status accordingly; update and optimize utility function * feature: use the can_delete property from the bid rather than calculate client side * Add loading spinner to Bid List button (#52) * Compress us-flag.jpg (#53) * Use react-linkify to automatically hyperlink URLs and email addresses in position capsule descriptions * Authorization -> Authentication (#54) * Authorization -> Authentication * Rename import * Update pagination and page size defaults in alignment with designs * Display link, if available, in the glossary * Add ability to edit links from Glossary editor; update styling for glossary links * Reduce code complexity, fix long link styles * Update snapshot * Add bundlesize (#69) * Add bundlsize and command * Refine glob * Refine maxSize target * Chore/linter (#67) * chore: fix linter is scss file * fix: linter issue * End of basic auth (#63) * Delete login form * Update actions * Clean up sagas * Remove isSAML checks * Refactor sagas, CodeClimate fixes * CodeClimate linting * Upate login screen * Simplify index * Change to force external login * get new custom auth working * remove rest of the basic auth refs from server * use env vars for env specific paths * Bidder role - TM-371 (#68) * Create permissions wrapper and conditionally render content based on bidder role * remove default fallback prop * Fix/mock auth (#70) * fix: override some routes for the webpack dev server so auth works for local development * fix: fix the conf so we can use the login.html when running the server in prod mode * Default to true if can_delete property is not found * Update snapshots * fix: remove the auth redirect loop and clean up reamining references to the LOGIN_MODE * TM-410 - display favorites list as 4 across above the large break point (#66) * fix: display favorites list as 4 across above the large break point * fix: display favorites list as 4 across above the large break point * fix: remove the auth redirect loop (#73) * fix: remove the auth redirect loop and clean up reamining references to the LOGIN_MODE * no conditional about url * dev -> staging (#56) (#75) * chore: remove unnecessary css file from the build output * chore: update docs regarding apache compression config * Update bid list due date to match site-wide format * Use position id instead of position_number to query for position details * chore: remove unused props from components * chore: fix err due to incorrect favicon size in manifest * chore: remove unused props from the Home container * chore: remove unused props from the HomePagePositionsContainer component * fix: update profile page based on qa * Update styles and content in Position Details page based on QA feedback * fix: add logo to saved search title * fix: search page updates from qa * chore: linter fix * chore: fix linter issue * fix: search page updates from qa * chore: linter fix * Remove feedback button site-wide * Use object in state instead of array * Minor edits to Homepage based on QA * fix: make the pagination link clickable area larger * fix: use the correct button style * fix: better accessibility for active pagination tab selection * fix: use correct button design * fix: use lodash get so that non-existent nested property doesn't throw error (#45) * Use lodash get so that non-existent nested property doesn't throw error * Check for details.id so that components don't render with an empty object * Align bid count with data points in ResultsCondensedCard * Show "Available" filter to all users, not just CDOs (#46) * Update dashboard styles and content based on QA * Fix style for bid list container * Move Bid Count in-line with data points on ResultsCard * View More -> View more * Add disabled state for BidListButton based on proposed API updates * Use real properties from API PR, combine strings * Use white for button text color * feature: add remove bid to the bid tracker for draft and submitted bids * add additional status to the canDeleteBid function * Add react-toastify and use with bid list additions/removals (#51) * Add react-toastify and use with bid list additions/removals * More tests for toast-related functionality * Check if bid can be deleted and apply disabled status accordingly; update and optimize utility function * feature: use the can_delete property from the bid rather than calculate client side * Add loading spinner to Bid List button (#52) * Compress us-flag.jpg (#53) * Remove use of skill cone/code to skill (#76) * Add Public Profile page - links from CDO portfolio, profile/public/:id route, add Assignments section to public profile, re-use of Profile Dashboard (#71) ## Relies on https://github.com/MetaPhase-Consulting/State-TalentMAP-API/pull/24 * Sort bid cycles alphabetically by name (#78) * feature: download search results in csv format. Resolves TM-439 * chore: use default variable for sort * chore: reformat the date before file creation * Simplified search bar v2 (#81) * Make use of the existing simple search bar throughout site * Offsets for homepage * Redesign compare page (#82) * Redesign compare page * Remove old table styles; handle zero comparisons with route to catch it * feature: move the download button and use the secondary style. resolves TM-511 * fix: set a width on the cards for the favorite positions profile screen (#80) * fix: set a width on the cards for the favorite positions profile screen. resolves TM-410 * fix: no responsiveness for bid count and favorite buttons on position card displays * feature: fixed width for all position cards (homepage, favorites, similar positions). Resolves TM-510 * fix: remove unnecessary class and fix padding on grid for correct wrapping * chore: fixing the wrapping for the larger width * Fix search styles from breaking on the bidder portfolio * Reverting the changes to the glossary card due to the new term dialog breaking * Add link-container class back in * Update snapshots * Trigger circleci build * Code smells (#86) * Update CodeClimate exclusions for local dev * Reduce complexity * Comparison drawer component, add event listeners where needed, remove old comparison UI from results page * Track old compare choices to maintain sorting during an update * Add test coverage, use cancel tokens * Change dropdown menu link name from "Profile" to "Dashboard" * Remove How to Bid section from position details (#89) * Homepage QA (#90) * Remove Inbox icon * Fetch notifications from any screen, since we no longer use a /login route * Remove the BetaHeader * Conditional rendering of Bid Count on Bid Tracker cards, update Results cards data order and style * Break out compare elements into their own rows, add Bid List button to comparisons, use Set() for bidListToggleIsLoading * Remove eslint-disable * feature: include org info for domestic positions (#92) * Remove bidListToggleIsLoading since that is handled in BidListButton container * Display the service needs filter as a pill on the results page (#95) * Add error handling for position details screen (#93) * Add error handling for position details screen * Update call to action * Update based on design feedback * feature: add bid list button to the favorites cards. TM-512 * dev -> staging * Make icons consistent throughout profile pages (#102) * Service Needs -> Featured (#100) * Add hover to dropdown (#103) * Update empty saved search list text (#101) * Add custom filter for including null language positions (#104) * Remove Status component throughout app (#105) * fix: change label. TM-632 (#107) * Adjust elements to grow * fix: allow export on edge to run * Styles, add post to top * Update ordering for data points on Compare page (#110) * Remove post, add grade to bottom section * Updates to Bid Tracker (#115) * Add opacity to on-hold bids * "priority" -> "pending" * Prop to hide the delete button for standby bids * Track favoriting loading state of individual IDs (#108) * Track favoriting loading state of individual IDs * Fix proptypes * Handshake ribbon (#113) * Re-usable Ribbon component, use Ribbon component to display if handshake has been offered on position * Display handshake in condensed card, tests and snapshots * Test coverage (#117) * Test coverage for AccountDropdown, CompareDrawer, Compare * Add tests for SetType * Add toast notifications for favoriting actions (#114) * Create BoxShadow component and use with various cards (#106) * dev -> staging (#98) (#119) * chore: remove unnecessary css file from the build output * chore: update docs regarding apache compression config * Update bid list due date to match site-wide format * Use position id instead of position_number to query for position details * chore: remove unused props from components * chore: fix err due to incorrect favicon size in manifest * chore: remove unused props from the Home container * chore: remove unused props from the HomePagePositionsContainer component * fix: update profile page based on qa * Update styles and content in Position Details page based on QA feedback * fix: add logo to saved search title * fix: search page updates from qa * chore: linter fix * chore: fix linter issue * fix: search page updates from qa * chore: linter fix * Remove feedback button site-wide * Use object in state instead of array * Minor edits to Homepage based on QA * fix: make the pagination link clickable area larger * fix: use the correct button style * fix: better accessibility for active pagination tab selection * fix: use correct button design * fix: use lodash get so that non-existent nested property doesn't throw error (#45) * Use lodash get so that non-existent nested property doesn't throw error * Check for details.id so that components don't render with an empty object * Align bid count with data points in ResultsCondensedCard * Show "Available" filter to all users, not just CDOs (#46) * Update dashboard styles and content based on QA * Fix style for bid list container * Move Bid Count in-line with data points on ResultsCard * View More -> View more * Add disabled state for BidListButton based on proposed API updates * Use real properties from API PR, combine strings * Use white for button text color * feature: add remove bid to the bid tracker for draft and submitted bids * add additional status to the canDeleteBid function * Add react-toastify and use with bid list additions/removals (#51) * Add react-toastify and use with bid list additions/removals * More tests for toast-related functionality * Check if bid can be deleted and apply disabled status accordingly; update and optimize utility function * feature: use the can_delete property from the bid rather than calculate client side * Add loading spinner to Bid List button (#52) * Compress us-flag.jpg (#53) * Use react-linkify to automatically hyperlink URLs and email addresses in position capsule descriptions * Authorization -> Authentication (#54) * Authorization -> Authentication * Rename import * Update pagination and page size defaults in alignment with designs * Display link, if available, in the glossary * Add ability to edit links from Glossary editor; update styling for glossary links * Reduce code complexity, fix long link styles * Update snapshot * Add bundlesize (#69) * Add bundlsize and command * Refine glob * Refine maxSize target * Chore/linter (#67) * chore: fix linter is scss file * fix: linter issue * End of basic auth (#63) * Delete login form * Update actions * Clean up sagas * Remove isSAML checks * Refactor sagas, CodeClimate fixes * CodeClimate linting * Upate login screen * Simplify index * Change to force external login * get new custom auth working * remove rest of the basic auth refs from server * use env vars for env specific paths * Bidder role - TM-371 (#68) * Create permissions wrapper and conditionally render content based on bidder role * remove default fallback prop * Fix/mock auth (#70) * fix: override some routes for the webpack dev server so auth works for local development * fix: fix the conf so we can use the login.html when running the server in prod mode * Default to true if can_delete property is not found * Update snapshots * fix: remove the auth redirect loop and clean up reamining references to the LOGIN_MODE * TM-410 - display favorites list as 4 across above the large break point (#66) * fix: display favorites list as 4 across above the large break point * fix: display favorites list as 4 across above the large break point * fix: remove the auth redirect loop (#73) * fix: remove the auth redirect loop and clean up reamining references to the LOGIN_MODE * no conditional about url * dev -> staging (#56) (#75) * chore: remove unnecessary css file from the build output * chore: update docs regarding apache compression config * Update bid list due date to match site-wide format * Use position id instead of position_number to query for position details * chore: remove unused props from components * chore: fix err due to incorrect favicon size in manifest * chore: remove unused props from the Home container * chore: remove unused props from the HomePagePositionsContainer component * fix: update profile page based on qa * Update styles and content in Position Details page based on QA feedback * fix: add logo to saved search title * fix: search page updates from qa * chore: linter fix * chore: fix linter issue * fix: search page updates from qa * chore: linter fix * Remove feedback button site-wide * Use object in state instead of array * Minor edits to Homepage based on QA * fix: make the pagination link clickable area larger * fix: use the correct button style * fix: better accessibility for active pagination tab selection * fix: use correct button design * fix: use lodash get so that non-existent nested property doesn't throw error (#45) * Use lodash get so that non-existent nested property doesn't throw error * Check for details.id so that components don't render with an empty object * Align bid count with data points in ResultsCondensedCard * Show "Available" filter to all users, not just CDOs (#46) * Update dashboard styles and content based on QA * Fix style for bid list container * Move Bid Count in-line with data points on ResultsCard * View More -> View more * Add disabled state for BidListButton based on proposed API updates * Use real properties from API PR, combine strings * Use white for button text color * feature: add remove bid to the bid tracker for draft and submitted bids * add additional status to the canDeleteBid function * Add react-toastify and use with bid list additions/removals (#51) * Add react-toastify and use with bid list additions/removals * More tests for toast-related functionality * Check if bid can be deleted and apply disabled status accordingly; update and optimize utility function * feature: use the can_delete property from the bid rather than calculate client side * Add loading spinner to Bid List button (#52) * Compress us-flag.jpg (#53) * Remove use of skill cone/code to skill (#76) * Add Public Profile page - links from CDO portfolio, profile/public/:id route, add Assignments section to public profile, re-use of Profile Dashboard (#71) ## Relies on https://github.com/MetaPhase-Consulting/State-TalentMAP-API/pull/24 * Sort bid cycles alphabetically by name (#78) * feature: download search results in csv format. Resolves TM-439 * chore: use default variable for sort * chore: reformat the date before file creation * Simplified search bar v2 (#81) * Make use of the existing simple search bar throughout site * Offsets for homepage * Redesign compare page (#82) * Redesign compare page * Remove old table styles; handle zero comparisons with route to catch it * feature: move the download button and use the secondary style. resolves TM-511 * fix: set a width on the cards for the favorite positions profile screen (#80) * fix: set a width on the cards for the favorite positions profile screen. resolves TM-410 * fix: no responsiveness for bid count and favorite buttons on position card displays * feature: fixed width for all position cards (homepage, favorites, similar positions). Resolves TM-510 * fix: remove unnecessary class and fix padding on grid for correct wrapping * chore: fixing the wrapping for the larger width * Fix search styles from breaking on the bidder portfolio * Reverting the changes to the glossary card due to the new term dialog breaking * Add link-container class back in * Update snapshots * Trigger circleci build * Code smells (#86) * Update CodeClimate exclusions for local dev * Reduce complexity * Comparison drawer component, add event listeners where needed, remove old comparison UI from results page * Track old compare choices to maintain sorting during an update * Add test coverage, use cancel tokens * Change dropdown menu link name from "Profile" to "Dashboard" * Remove How to Bid section from position details (#89) * Homepage QA (#90) * Remove Inbox icon * Fetch notifications from any screen, since we no longer use a /login route * Remove the BetaHeader * Conditional rendering of Bid Count on Bid Tracker cards, update Results cards data order and style * Break out compare elements into their own rows, add Bid List button to comparisons, use Set() for bidListToggleIsLoading * Remove eslint-disable * feature: include org info for domestic positions (#92) * Remove bidListToggleIsLoading since that is handled in BidListButton container * Display the service needs filter as a pill on the results page (#95) * Add error handling for position details screen (#93) * Add error handling for position details screen * Update call to action * Update based on design feedback * dev -> staging * Make icons consistent throughout profile pages (#102) * Service Needs -> Featured (#100) * Add hover to dropdown (#103) * Sprint 6 merge conflicts (#120) * dev -> staging (#98) * chore: remove unnecessary css file from the build output * chore: update docs regarding apache compression config * Update bid list due date to match site-wide format * Use position id instead of position_number to query for position details * chore: remove unused props from components * chore: fix err due to incorrect favicon size in manifest * chore: remove unused props from the Home container * chore: remove unused props from the HomePagePositionsContainer component * fix: update profile page based on qa * Update styles and content in Position Details page based on QA feedback * fix: add logo to saved search title * fix: search page updates from qa * chore: linter fix * chore: fix linter issue * fix: search page updates from qa * chore: linter fix * Remove feedback button site-wide * Use object in state instead of array * Minor edits to Homepage based on QA * fix: make the pagination link clickable area larger * fix: use the correct button style * fix: better accessibility for active pagination tab selection * fix: use correct button design * fix: use lodash get so that non-existent nested property doesn't throw error (#45) * Use lodash get so that non-existent nested property doesn't throw error * Check for details.id so that components don't render with an empty object * Align bid count with data points in ResultsCondensedCard * Show "Available" filter to all users, not just CDOs (#46) * Update dashboard styles and content based on QA * Fix style for bid list container * Move Bid Count in-line with data points on ResultsCard * View More -> View more * Add disabled state for BidListButton based on proposed API updates * Use real properties from API PR, combine strings * Use white for button text color * feature: add remove bid to the bid tracker for draft and submitted bids * add additional status to the canDeleteBid function * Add react-toastify and use with bid list additions/removals (#51) * Add react-toastify and use with bid list additions/removals * More tests for toast-related functionality * Check if bid can be deleted and apply disabled status accordingly; update and optimize utility function * feature: use the can_delete property from the bid rather than calculate client side * Add loading spinner to Bid List button (#52) * Compress us-flag.jpg (#53) * Use react-linkify to automatically hyperlink URLs and email addresses in position capsule descriptions * Authorization -> Authentication (#54) * Authorization -> Authentication * Rename import * Update pagination and page size defaults in alignment with designs * Display link, if available, in the glossary * Add ability to edit links from Glossary editor; update styling for glossary links * Reduce code complexity, fix long link styles * Update snapshot * Add bundlesize (#69) * Add bundlsize and command * Refine glob * Refine maxSize target * Chore/linter (#67) * chore: fix linter is scss file * fix: linter issue * End of basic auth (#63) * Delete login form * Update actions * Clean up sagas * Remove isSAML checks * Refactor sagas, CodeClimate fixes * CodeClimate linting * Upate login screen * Simplify index * Change to force external login * get new custom auth working * remove rest of the basic auth refs from server * use env vars for env specific paths * Bidder role - TM-371 (#68) * Create permissions wrapper and conditionally render content based on bidder role * remove default fallback prop * Fix/mock auth (#70) * fix: override some routes for the webpack dev server so auth works for local development * fix: fix the conf so we can use the login.html when running the server in prod mode * Default to true if can_delete property is not found * Update snapshots * fix: remove the auth redirect loop and clean up reamining references to the LOGIN_MODE * TM-410 - display favorites list as 4 across above the large break point (#66) * fix: display favorites list as 4 across above the large break point * fix: display favorites list as 4 across above the large break point * fix: remove the auth redirect loop (#73) * fix: remove the auth redirect loop and clean up reamining references to the LOGIN_MODE * no conditional about url * dev -> staging (#56) (#75) * chore: remove unnecessary css file from the build output * chore: update docs regarding apache compression config * Update bid list due date to match site-wide format * Use position id instead of position_number to query for position details * chore: remove unused props from components * chore: fix err due to incorrect favicon size in manifest * chore: remove unused props from the Home container * chore: remove unused props from the HomePagePositionsContainer component * fix: update profile page based on qa * Update styles and content in Position Details page based on QA feedback * fix: add logo to saved search title * fix: search page updates from qa * chore: linter fix * chore: fix linter issue * fix: search page updates from qa * chore: linter fix * Remove feedback button site-wide * Use object in state instead of array * Minor edits to Homepage based on QA * fix: make the pagination link clickable area larger * fix: use the correct button style * fix: better accessibility for active pagination tab selection * fix: use correct button design * fix: use lodash get so that non-existent nested property doesn't throw error (#45) * Use lodash get so that non-existent nested property doesn't throw error * Check for details.id so that components don't render with an empty object * Align bid count with data points in ResultsCondensedCard * Show "Available" filter to all users, not just CDOs (#46) * Update dashboard styles and content based on QA * Fix style for bid list container * Move Bid Count in-line with data points on ResultsCard * View More -> View more * Add disabled state for BidListButton based on proposed API updates * Use real properties from API PR, combine strings * Use white for button text color * feature: add remove bid to the bid tracker for draft and submitted bids * add additional status to the canDeleteBid function * Add react-toastify and use with bid list additions/removals (#51) * Add react-toastify and use with bid list additions/removals * More tests for toast-related functionality * Check if bid can be deleted and apply disabled status accordingly; update and optimize utility function * feature: use the can_delete property from the bid rather than calculate client side * Add loading spinner to Bid List button (#52) * Compress us-flag.jpg (#53) * Remove use of skill cone/code to skill (#76) * Add Public Profile page - links from CDO portfolio, profile/public/:id route, add Assignments section to public profile, re-use of Profile Dashboard (#71) ## Relies on https://github.com/MetaPhase-Consulting/State-TalentMAP-API/pull/24 * Sort bid cycles alphabetically by name (#78) * feature: download search results in csv format. Resolves TM-439 * chore: use default variable for sort * chore: reformat the date before file creation * Simplified search bar v2 (#81) * Make use of the existing simple search bar throughout site * Offsets for homepage * Redesign compare page (#82) * Redesign compare page * Remove old table styles; handle zero comparisons with route to catch it * feature: move the download button and use the secondary style. resolves TM-511 * fix: set a width on the cards for the favorite positions profile screen (#80) * fix: set a width on the cards for the favorite positions profile screen. resolves TM-410 * fix: no responsiveness for bid count and favorite buttons on position card displays * feature: fixed width for all position cards (homepage, favorites, similar positions). Resolves TM-510 * fix: remove unnecessary class and fix padding on grid for correct wrapping * chore: fixing the wrapping for the larger width * Fix search styles from breaking on the bidder portfolio * Reverting the changes to the glossary card due to the new term dialog breaking * Add link-container class back in * Update snapshots * Trigger circleci build * Code smells (#86) * Update CodeClimate exclusions for local dev * Reduce complexity * Comparison drawer component, add event listeners where needed, remove old comparison UI from results page * Track old compare choices to maintain sorting during an update * Add test coverage, use cancel tokens * Change dropdown menu link name from "Profile" to "Dashboard" * Remove How to Bid section from position details (#89) * Homepage QA (#90) * Remove Inbox icon * Fetch notifications from any screen, since we no longer use a /login route * Remove the BetaHeader * Conditional rendering of Bid Count on Bid Tracker cards, update Results cards data order and style * Break out compare elements into their own rows, add Bid List button to comparisons, use Set() for bidListToggleIsLoading * Remove eslint-disable * feature: include org info for domestic positions (#92) * Remove bidListToggleIsLoading since that is handled in BidListButton container * Display the service needs filter as a pill on the results page (#95) * Add error handling for position details screen (#93) * Add error handling for position details screen * Update call to action * Update based on design feedback * dev -> staging * Make icons consistent throughout profile pages (#102) * Service Needs -> Featured (#100) * Add hover to dropdown (#103) * Remove duplicates * Add toggle component, use static toggle filter in search results (#121) * Add condensed card layouts for projected vacancy and recently available (#122) * dev -> staging (#98) (#127) * chore: remove unnecessary css file from the build output * chore: update docs regarding apache compression config * Update bid list due date to match site-wide format * Use position id instead of position_number to query for position details * chore: remove unused props from components * chore: fix err due to incorrect favicon size in manifest * chore: remove unused props from the Home container * chore: remove unused props from the HomePagePositionsContainer component * fix: update profile page based on qa * Update styles and content in Position Details page based on QA feedback * fix: add logo to saved search title * fix: search page updates from qa * chore: linter fix * chore: fix linter issue * fix: search page updates from qa * chore: linter fix * Remove feedback button site-wide * Use object in state instead of array * Minor edits to Homepage based on QA * fix: make the pagination link clickable area larger * fix: use the correct button style * fix: better accessibility for active pagination tab selection * fix: use correct button design * fix: use lodash get so that non-existent nested property doesn't throw error (#45) * Use lodash get so that non-existent nested property doesn't throw error * Check for details.id so that components don't render with an empty object * Align bid count with data points in ResultsCondensedCard * Show "Available" filter to all users, not just CDOs (#46) * Update dashboard styles and content based on QA * Fix style for bid list container * Move Bid Count in-line with data points on ResultsCard * View More -> View more * Add disabled state for BidListButton based on proposed API updates * Use real properties from API PR, combine strings * Use white for button text color * feature: add remove bid to the bid tracker for draft and submitted bids * add additional status to the canDeleteBid function * Add react-toastify and use with bid list additions/removals (#51) * Add react-toastify and use with bid list additions/removals * More tests for toast-related functionality * Check if bid can be deleted and apply disabled status accordingly; update and optimize utility function * feature: use the can_delete property from the bid rather than calculate client side * Add loading spinner to Bid List button (#52) * Compress us-flag.jpg (#53) * Use react-linkify to automatically hyperlink URLs and email addresses in position capsule descriptions * Authorization -> Authentication (#54) * Authorization -> Authentication * Rename import * Update pagination and page size defaults in alignment with designs * Display link, if available, in the glossary * Add ability to edit links from Glossary editor; update styling for glossary links * Reduce code complexity, fix long link styles * Update snapshot * Add bundlesize (#69) * Add bundlsize and command * Refine glob * Refine maxSize target * Chore/linter (#67) * chore: fix linter is scss file * fix: linter issue * End of basic auth (#63) * Delete login form * Update actions * Clean up sagas * Remove isSAML checks * Refactor sagas, CodeClimate fixes * CodeClimate linting * Upate login screen * Simplify index * Change to force external login * get new custom auth working * remove rest of the basic auth refs from server * use env vars for env specific paths * Bidder role - TM-371 (#68) * Create permissions wrapper and conditionally render content based on bidder role * remove default fallback prop * Fix/mock auth (#70) * fix: override some routes for the webpack dev server so auth works for local development * fix: fix the conf so we can use the login.html when running the server in prod mode * Default to true if can_delete property is not found * Update snapshots * fix: remove the auth redirect loop and clean up reamining references to the LOGIN_MODE * TM-410 - display favorites list as 4 across above the large break point (#66) * fix: display favorites list as 4 across above the large break point * fix: display favorites list as 4 across above the large break point * fix: remove the auth redirect loop (#73) * fix: remove the auth redirect loop and clean up reamining references to the LOGIN_MODE * no conditional about url * dev -> staging (#56) (#75) * chore: remove unnecessary css file from the build output * chore: update docs regarding apache compression config * Update bid list due date to match site-wide format * Use position id instead of position_number to query for position details * chore: remove unused props from components * chore: fix err due to incorrect favicon size in manifest * chore: remove unused props from the Home container * chore: remove unused props from the HomePagePositionsContainer component * fix: update profile page based on qa * Update styles and content in Position Details page based on QA feedback * fix: add logo to saved search title * fix: search page updates from qa * chore: linter fix * chore: fix linter issue * fix: search page updates from qa * chore: linter fix * Remove feedback button site-wide * Use object in state instead of array * Minor edits to Homepage based on QA * fix: make the pagination link clickable area larger * fix: use the correct button style * fix: better accessibility for active pagination tab selection * fix: use correct button design * fix: use lodash get so that non-existent nested property doesn't throw error (#45) * Use lodash get so that non-existent nested property doesn't throw error * Check for details.id so that components don't render with an empty object * Align bid count with data points in ResultsCondensedCard * Show "Available" filter to all users, not just CDOs (#46) * Update dashboard styles and content based on QA * Fix style for bid list container * Move Bid Count in-line with data points on ResultsCard * View More -> View more * Add disabled state for BidListButton based on proposed API updates * Use real properties from API PR, combine strings * Use white for button text color * feature: add remove bid to the bid tracker for draft and submitted bids * add additional status to the canDeleteBid function * Add react-toastify and use with bid list additions/removals (#51) * Add react-toastify and use with bid list additions/removals * More tests for toast-related functionality * Check if bid can be deleted and apply disabled status accordingly; update and optimize utility function * feature: use the can_delete property from the bid rather than calculate client side * Add loading spinner to Bid List button (#52) * Compress us-flag.jpg (#53) * Remove use of skill cone/code to skill (#76) * Add Public Profile page - links from CDO portfolio, profile/public/:id route, add Assignments section to public profile, re-use of Profile Dashboard (#71) ## Relies on https://github.com/MetaPhase-Consulting/State-TalentMAP-API/pull/24 * Sort bid cycles alphabetically by name (#78) * feature: download search results in csv format. Resolves TM-439 * chore: use default variable for sort * chore: reformat the date before file creation * Simplified search bar v2 (#81) * Make use of the existing simple search bar throughout site * Offsets for homepage * Redesign compare page (#82) * Redesign compare page * Remove old table styles; handle zero comparisons with route to catch it * feature: move the download button and use the secondary style. resolves TM-511 * fix: set a width on the cards for the favorite positions profile screen (#80) * fix: set a width on the cards for the favorite positions profile screen. resolves TM-410 * fix: no responsiveness for bid count and favorite buttons on position card displays * feature: fixed width for all position cards (homepage, favorites, similar positions). Resolves TM-510 * fix: remove unnecessary class and fix padding on grid for correct wrapping * chore: fixing the wrapping for the larger width * Fix search styles from breaking on the bidder portfolio * Reverting the changes to the glossary card due to the new term dialog breaking * Add link-container class back in * Update snapshots * Trigger circleci build * Code smells (#86) * Update CodeClimate exclusions for local dev * Reduce complexity * Comparison drawer component, add event listeners where needed, remove old comparison UI from results page * Track old compare choices to maintain sorting during an update * Add test coverage, use cancel tokens * Change dropdown menu link name from "Profile" to "Dashboard" * Remove How to Bid section from position details (#89) * Homepage QA (#90) * Remove Inbox icon * Fetch notifications from any screen, since we no longer use a /login route * Remove the BetaHeader * Conditional rendering of Bid Count on Bid Tracker cards, update Results cards data order and style * Break out compare elements into their own rows, add Bid List button to comparisons, use Set() for bidListToggleIsLoading * Remove eslint-disable * feature: include org info for domestic positions (#92) * Remove bidListToggleIsLoading since that is handled in BidListButton container * Display the service needs filter as a pill on the results page (#95) * Add error handling for position details screen (#93) * Add error handling for position details screen * Update call to action * Update based on design feedback * dev -> staging * Make icons consistent throughout profile pages (#102) * Service Needs -> Featured (#100) * Add hover to dropdown (#103) * Move "No Language" filter to top of list (#129) * Projected Vacancy - Saved Search + Results cards (#123) * Projected vacancy in Saved Searches * PV in results cards * Fix typo, increase font size * Increase filter container width, increase toggle font-size * Refactor section headers in profile, static UI for projected vacancy notifications for favorites and bid list (#126) * Pull css-box-shadow repo into app to force es6 to compile * Chore/autodeploy config (#132) * chore: update deploy config * chore: update deploy config * chore: update deploy config * chore: update deploy config * chore: update deploy config * chore: update deploy config * chore: use dev branch * fix: update deploy script * Compare from Favorites (#124) * Add condensed card layouts for projected vacancy and recently available * Add comparison buttons and comparison drawer to Favorites page * Condensed Bid Tracker (#128) * Alternate styles for condensed bid tracker, check for condensedView with Context API * Additional styles/conditional rendering, scroll to bid on Bid Tracker with route id, snapshots * Show Closed alert, style tweaks * Style tweak to hide overlay alert for prepanel state * Feature flags (#130) * Feature flag implementation * Feature flags for API * fix: check for and remove if present the backup dir (#136) * Remove jQuery and replace with XHR (#137) * Different text and colors for Approved bids (#139) * Hide Featured Positions section if positions length is zero (#138) * Hide Featured Positions section if positions length is zero * Update snapshot * Set config.json to preferred defaults in dev environment * Update index.html to reference API URL from config * Update deploy.sh to use alternate config * fix: include the bid count in the sections toggled by the bidding flag * Add the Beta banner back in * Use defaultSort prop instead of entire object; refresh state value on componentWillReceiveProps() (#148) * New card design for Bidder Portfolio (#140) * New card design for Bidder Portfolio, including badges (static for now) * Fallback for no grade * Update name format * Make disabled badge color accessible * Use aria-label to describe the meaning of the icon (#149) * New row design for Bidder Portfolio (#141) * New card design for Bidder Portfolio, including badges (static for now) * Fallback for no grade * New UI for Bidder Portfolio row view * Update name format * Add Export button to Bidder Portfolio (#142) * Add auto-complete dropdown to display CDO list in Bidder Portfolio (#150) * Increase test coverage (#151) * Remove ABOUT_URL (#152) * Update Jest (#153) * Update Jest * Update coverageReporters * Bidder Portfolio Edit View (#144) * New card design for Bidder Portfolio, including badges (static for now) * Fallback for no grade * New UI for Bidder Portfolio row view * Update name format * Add Export button to Bidder Portfolio * Add Edit view for Bidder Portfolio rows * UI For Bid Portfolio Edit View * Public Profile "Updates" and Edit UI (#147) * New card design for Bidder Portfolio, including badges (static for now) * Fallback for no grade * New UI for Bidder Portfolio row view * Update name format * Add Export button to Bidder Portfolio * Add Edit view for Bidder Portfolio rows * UI For Bid Portfolio Edit View * Add "Updates" section, static edit UI to Public Profile * Use react-picky to create a multi-select checkbox dropdown to use as a static UI Bid Cycle filter * Improved test coverage * Additional tests for SearchResultsExportLink and utilities * More test coverage (#156) * More test coverage * Add test coverage to ListItem * Add active filter (#158) * staging -> sprint-8 (#160) * Set min-width on compare drawer cards in IE11 (#161) * Redirect standard error, for when file does not exist in CI (#162) * Use common Export Button component for re-use (#163) * Handle for when current_assignment is null (#165) * "Service need" -> "Featured positions" sort name (#167) * dev -> staging (#166) (#168) * chore: remove unused props from the Home container * chore: remove unused props from the HomePagePositionsContainer component * fix: update profile page based on qa * Update styles and content in Position Details page based on QA feedback * fix: add logo to saved search title * fix: search page updates from qa * chore: linter fix * chore: fix linter issue * fix: search page updates from qa * chore: linter fix * Remove feedback button site-wide * Use object in state instead of array * Minor edits to Homepage based on QA * fix: make the pagination link clickable area larger * fix: use the correct button style * fix: better accessibility for active pagination tab selection * fix: use correct button design * fix: use lodash get so that non-existent nested property doesn't throw error (#45) * Use lodash get so that non-existent nested property doesn't throw error * Check for details.id so that components don't render with an empty object * Align bid count with data points in ResultsCondensedCard * Show "Available" filter to all users, not just CDOs (#46) * Update dashboard styles and content based on QA * Fix style for bid list container * Move Bid Count in-line with data points on ResultsCard * View More -> View more * Add disabled state for BidListButton based on proposed API updates * Use real properties from API PR, combine strings * Use white for button text color * feature: add remove bid to the bid tracker for draft and submitted bids * add additional status to the canDeleteBid function * Add react-toastify and use with bid list additions/removals (#51) * Add react-toastify and use with bid list additions/removals * More tests for toast-related functionality * Check if bid can be deleted and apply disabled status accordingly; update and optimize utility function * feature: use the can_delete property from the bid rather than calculate client side * Add loading spinner to Bid List button (#52) * Compress us-flag.jpg (#53) * Use react-linkify to automatically hyperlink URLs and email addresses in position capsule descriptions * Authorization -> Authentication (#54) * Authorization -> Authentication * Rename import * Update pagination and page size defaults in alignment with designs * Display link, if available, in the glossary * Add ability to edit links from Glossary editor; update styling for glossary links * Reduce code complexity, fix long link styles * Update snapshot * Add bundlesize (#69) * Add bundlsize and command * Refine glob * Refine maxSize target * Chore/linter (#67) * chore: fix linter is scss file * fix: linter issue * End of basic auth (#63) * Delete login form * Update actions * Clean up sagas * Remove isSAML checks * Refactor sagas, CodeClimate fixes * CodeClimate linting * Upate login screen * Simplify index * Change to force external login * get new custom auth working * remove rest of the basic auth refs from server * use env vars for env specific paths * Bidder role - TM-371 (#68) * Create permissions wrapper and conditionally render content based on bidder role * remove default fallback prop * Fix/mock auth (#70) * fix: override some routes for the webpack dev server so auth works for local development * fix: fix the conf so we can use the login.html when running the server in prod mode * Default to true if can_delete property is not found * Update snapshots * fix: remove the auth redirect loop and clean up reamining references to the LOGIN_MODE * TM-410 - display favorites list as 4 across above the large break point (#66) * fix: display favorites list as 4 across above the large break point * fix: display favorites list as 4 across above the large break point * fix: remove the auth redirect loop (#73) * fix: remove the auth redirect loop and clean up reamining references to the LOGIN_MODE * no conditional about url * dev -> staging (#56) (#75) * chore: remove unnecessary css file from the build output * chore: update docs regarding apache compression config * Update bid list due date to match site-wide format * Use position id instead of position_number to query for position details * chore: remove unused props from components * chore: fix err due to incorrect favicon size in manifest * chore: remove unused props from the Home container * chore: remove unused props from the HomePagePositionsContainer component * fix: update profile page based on qa * Update styles and content in Position Details page based on QA feedback * fix: add logo to saved search title * fix: search page updates from qa * chore: linter fix * chore: fix linter issue * fix: search page updates from qa * chore: linter fix * Remove feedback button site-wide * Use object in state instead of array * Minor edits to Homepage based on QA * fix: make the pagination link clickable area larger * fix: use the correct button style * fix: better accessibility for active pagination tab selection * fix: use correct button design * fix: use lodash get so that non-existent nested property doesn't throw error (#45) * Use lodash get so that non-existent nested property doesn't throw error * Check for details.id so that components don't render with an empty object * Align bid count with data points in ResultsCondensedCard * Show "Available" filter to all users, not just CDOs (#46) * Update dashboard styles and content based on QA * Fix style for bid list container * Move Bid Count in-line with data points on ResultsCard * View More -> View more * Add disabled state for BidListButton based on proposed API updates * Use real properties from API PR, combine strings * Use white for button text color * feature: add remove bid to the bid tracker for draft and submitted bids * add additional status to the canDeleteBid function * Add react-toastify and use with bid list additions/removals (#51) * Add react-toastify and use with bid list additions/removals * More tests for toast-related functionality * Check if bid can be deleted and apply disabled status accordingly; update and optimize utility function * feature: use the can_delete property from the bid rather than calculate client side * Add loading spinner to Bid List button (#52) * Compress us-flag.jpg (#53) * Remove use of skill cone/code to skill (#76) * Add Public Profile page - links from CDO portfolio, profile/public/:id route, add Assignments section to public profile, re-use of Profile Dashboard (#71) ## Relies on https://github.com/MetaPhase-Consulting/State-TalentMAP-API/pull/24 * Sort bid cycles alphabetically by name (#78) * feature: download search results in csv format. Resolves TM-439 * chore: use default variable for sort * chore: reformat the date before file creation * Simplified search bar v2 (#81) * Make use of the existing simple search bar throughout site * Offsets for homepage * Redesign compare page (#82) * Redesign compare page * Remove old table styles; handle zero comparisons with route to catch it * feature: move the download button and use the secondary style. resolves TM-511 * fix: set a width on the cards for the favorite positions profile screen (#80) * fix: set a width on the cards for the favorite positions profile screen. resolves TM-410 * fix: no responsiveness for bid count and favorite buttons on position card displays * feature: fixed width for all position cards (homepage, favorites, similar positions). Resolves TM-510 * fix: remove unnecessary class and fix padding on grid for correct wrapping * chore: fixing the wrapping for the larger width * Fix search styles from breaking on the bidder portfolio * Reverting the changes to the glossary card due to the new term dialog breaking * Add link-container class back in * Update snapshots * Trigger circleci build * Code smells (#86) * Update CodeClimate exclusions for local dev * Reduce complexity * Comparison drawer component, add event listeners where needed, remove old comparison UI from results page * Track old compare choices to maintain sorting during an update * Add test coverage, use cancel tokens * Change dropdown menu link name from "Profile" to "Dashboard" * Remove How to Bid section from position details (#89) * Homepage QA (#90) * Remove Inbox icon * Fetch notifications from any screen, since we no longer use a /login route * Remove the BetaHeader * Conditional rendering of Bid Count on Bid Tracker cards, update Results cards data order and style * Break out compare elements into their own rows, add Bid List button to comparisons, use Set() for bidListToggleIsLoading * Remove eslint-disable * feature: include org info for domestic positions (#92) * Remove bidListToggleIsLoading since that is handled in BidListButton container * Display the service needs filter as a pill on the results page (#95) * Add error handling for position details screen (#93) * Add error handling for position details screen * Update call to action * Update based on design feedback * feature: add bid list button to the favorites cards. TM-512 * dev -> staging * Make icons consistent throughout profile pages (#102) * Service Needs -> Featured (#100) * Add hover to dropdown (#103) * Update empty saved search list text (#101) * Add custom filter for including null language positions (#104) * Remove Status component throughout app (#105) * fix: change label. TM-632 (#107) * Adjust elements to grow * fix: allow export on edge to run * Styles, add post to top * Update ordering for data points on Compare page (#110) * Remove post, add grade to bottom section * Updates to Bid Tracker (#115) * Add opacity to on-hold bids * "priority" -> "pending" * Prop to hide the delete button for standby bids * Track favoriting loading state of individual IDs (#108) * Track favoriting loading state of individual IDs * Fix proptypes * Handshake ribbon (#113) * Re-usable Ribbon component, use Ribbon component to display if handshake has been offered on position * Display handshake in condensed card, tests and snapshots * Test coverage (#117) * Test coverage for AccountDropdown, CompareDrawer, Compare * Add tests for SetType * Add toast notifications for favoriting actions (#114) * Create BoxShadow component and use with various cards (#106) * dev -> staging (#98) (#119) * chore: remove unnecessary css file from the build output * chore: update docs regarding apache compression config * Update bid list due date to match site-wide format * Use position id instead of position_number to query for position details * chore: remove unused props from components * chore: fix err due to incorrect favicon size in manifest * chore: remove unused props from the Home container * chore: remove unused props from the HomePagePositionsContainer component * fix: update profile page based on qa * Update styles and content in Position Details page based on QA feedback * fix: add logo to saved search title * fix: search page updates from qa * chore: linter fix * chore: fix linter issue * fix: search page updates from qa * chore: linter fix * Remove feedback button site-wide * Use object in state instead of array * Minor edits to Homepage based on QA * fix: make the pagination link clickable area larger * fix: use the correct button style * fix: better accessibility for active pagination tab selection * fix: use correct button design * fix: use lodash get so that non-existent nested property doesn't throw error (#45) * Use lodash get so that non-existent nested property doesn't throw error * Check for details.id so that components don't render with an empty object * Align bid count with data points in ResultsCondensedCard * Show "Available" filter to all users, not just CDOs (#46) * Update dashboard styles and content based on QA * Fix style for bid list container * Move Bid Count in-line with data points on ResultsCard * View More -> View more * Add disabled state for BidListButton based on proposed API updates * Use real properties from API PR, combine strings * Use white for button text color * feature: add remove bid to the bid tracker for draft and submitted bids * add additional status to the canDeleteBid function * Add react-toastify and use with bid list additions/removals (#51) * Add react-toastify and use with bid list additions/removals * More tests for toast-related functionality * Check if bid can be deleted and apply disabled status accordingly; update and optimize utility function * feature: use the can_delete property from the bid rather than calculate client side * Add loading spinner to Bid List button (#52) * Compress us-flag.jpg (#53) * Use react-linkify to automatically hyperlink URLs and email addresses in position capsule descriptions * Authorization -> Authentication (#54) * Authorization -> Authentication * Rename import * Update pagination and page size defaults in alignment with designs * Display link, if available, in the glossary * Add ability to edit links from Glossary editor; update styling for glossary links * Reduce code complexity, fix long link styles * Update snapshot * Add bundlesize (#69) * Add bundlsize and command * Refine glob * Refine maxSize target * Chore/linter (#67) * chore: fix linter is scss file * fix: linter issue * End of basic auth (#63) * Delete login form * Update actions * Clean up sagas * Remove isSAML checks * Refactor sagas, CodeClimate fixes * CodeClimate linting * Upate login screen * Simplify index * Change to force external login * get new custom auth working * remove rest of the basic auth refs from server * use env vars for env specific paths * Bidder role - TM-371 (#68) * Create permissions wrapper and conditionally render content based on bidder role * remove default fallback prop * Fix/mock auth (#70) * fix: override some routes for the webpack dev server so auth works for local development * fix: fix the conf so we can use the login.html when running the server in prod mode * Default to true if can_delete property is not found * Update snapshots * fix: remove the auth redirect loop and clean up reamining references to the LOGIN_MODE * TM-410 - display favorites list as 4 across above the large break point (#66) * fix: display favorites list as 4 across above the large break point * fix: display favorites list as 4 across above the large break point * fix: remove the auth redirect loop (#73) * fix: remove the auth redirect loop and clean up reamining references to the LOGIN_MODE * no conditional about url * dev -> staging (#56) (#75) * chore: remove unnecessary css file from the build output * chore: update docs regarding apache compression config * Update bid list due date to match site-wide format * Use position id instead of position_number to query for position details * chore: remove unused props from components * chore: fix err due to incorrect favicon size in manifest * chore: remove unused props from the Home container * chore: remove unused props from the HomePagePositionsContainer component * fix: update profile page based on qa * Update styles and content in Position Details page based on QA feedback * fix: add logo to saved search title * fix: search page updates from qa * chore: linter fix * chore: fix linter issue * fix: search page updates from qa * chore: linter fix * Remove feedback button site-wide * Use object in state instead of array * Minor edits to Homepage based on QA * fix: make the pagination link clickable area larger * fix: use the correct button style * fix: better accessibility for active pagination tab selection * fix: use correct button design * fix: use lodash get so that non-existent nested property doesn't throw error (#45) * Use lodash get so that non-existent nested property doesn't throw error * Check for details.id so that components don't render with an empty object * Align bid count with data points in ResultsCondensedCard * Show "Available" filter to all users, not just CDOs (#46) * Update dashboard styles and content based on QA * Fix style for bid list container * Move Bid Count in-line with data points on ResultsCard * View More -> View more * Add disabled state for BidListButton based on proposed API updates * Use real properties from API PR, combine strings * Use white for button text color * feature: add remove bid to the bid tracker for draft and submitted bids * add additional status to the canDeleteBid function * Add react-toastify and use with bid list additions/removals (#51) * Add react-toastify and use with bid list additions/removals * More tests for toast-related functionality * Check if bid can be deleted and apply disabled status accordingly; update and optimize utility function * feature: use the can_delete property from the bid rather than calculate client side * Add loading spinner to Bid List button (#52) * Compress us-flag.jpg (#53) * Remove use of skill cone/code to skill (#76) * Add Public Profile page - links from CDO portfolio, profile/public/:id route, add Assignments section to public profile, re-use of Profile Dashboard (#71) ## Relies on https://github.com/MetaPhase-Consulting/State-TalentMAP-API/pull/24 * Sort bid cycles alphabetically by name (#78) * feature: download search results in csv format. Resolves TM-439 * chore: use default variable for sort * chore: reformat the date before file creation * Simplified search bar v2 (#81) * Make use of the existing simple search bar throughout site * Offsets for homepage * Redesign compare page (#82) * Redesign compare page * Remove old table styles; handle zero comparisons with route to catch it * feature: move the download button and use the secondary style. resolves TM-511 * fix: set a width on the cards for the favorite positions profile screen (#80) * fix: set a width on the cards for the favorite positions profile screen. resolves TM-410 * fix: no responsiveness for bid count and favorite buttons on position card displays * feature: fixed width for all position cards (homepage, favorites, similar positions). Resolves TM-510 * fix: remove unnecessary class and fix padding on grid for correct wrapping * chore: fixing the wrapping for the larger width * Fix search styles from breaking on the bidder portfolio * Reverting the changes to the glossary card due to the new term dialog breaking * Add link-container class back in * Update snapshots * Trigger circleci build * Code smells (#86) * Update CodeClimate exclusions for local dev * Reduce complexity * Comparison drawer component, add event listeners where needed, remove old comparison UI from results page * Track old compare choices to maintain sorting during an update * Add test coverage, use cancel tokens * Change dropdown menu link name from "Profile" to "Dashboard" * Remove How to Bid section from position details (#89) * Homepage QA (#90) * Remove Inbox icon * Fetch notifications from any screen, since we no longer use a /login route * Remove the BetaHeader * Conditional rendering of Bid Count on Bid Tracker cards, update Results cards data order and style * Break out compare elements into their own rows, add Bid List button to comparisons, use Set() for bidListToggleIsLoading * Remove eslint-disable * feature: include org info for domestic positions (#92) * Remove bidListToggleIsLoading since that is handled in BidListButton container * Display the service needs filter as a pill on the results page (#95) * Add error handling for position details screen (#93) * Add error handling for position details screen * Update call to action * Update based on design feedback * dev -> staging * Make icons consistent throughout profile pages (#102) * Service Needs -> Featured (#100) * Add hover to dropdown (#103) * Sprint 6 merge conflicts (#120) * dev -> staging (#98) * chore: remove unnecessary css file from the build output * chore: update docs regarding apache compression config * Update bid list due date to match site-wide format * Use position id instead of position_number to query for position details * chore: remove unused props from components * chore: fix err due to incorrect favicon size in manifest * chore: remove unused props from the Home container * chore: remove unused props from the HomePagePositionsContainer component * fix: update profile page based on qa * Update styles and content in Position… * chore: update deploy script to match what is on the server (#260) * Check for prop equality before component update * Use correct property for position title with new cycleposition model * feature: enable location filter on PV. TM-949 * Add Featured ribbon to cards and details * fix: use cycle position availability property * Prop to clear the autosuggest input upon selection; use prop with the Post autosuggest input * Cherry pick https://github.com/MetaPhase-Consulting/State-TalentMAP/pull/269/commits/e978c1f85c6ee38a2c9fbb967b30d2049eee202b * Use is_available=true param for post autocomplete, since post checkboxes are also based on this query * fix: update components using availability property on cycle position * Update property to check for PV based on new data model * fix: properly pass cycle position info to the bid button on position cards * Merge noreferrer fix from c870629 (#275) * Merge noreferrer fix from c870629 * Update snapshot * Add feature flag for admin/log page (#273) * Cache images and fonts (#266) * Integrate data sync editor form with API * Add a message to the cancel token, since the constructor name in production gets minified to a single letter * Move Glossary Editor to Administrator profile menu; tweak logic so that roles are OR instead of AND (#254) * Tweak componentWillReceiveProps logic to prevent duplicate network requests (#278) * Remove the featured icon from condensed cards, since it already exists in the ribbon * [Security] Bump atob from 2.0.3 to 2.1.2 Bumps [atob](https://github.com/coolaj86/node-browser-compat) from 2.0.3 to 2.1.2. **This update includes a security fix.** - [Release notes](https://github.com/coolaj86/node-browser-compat/releases) - [Commits](https://github.com/coolaj86/node-browser-compat/commits) Signed-off-by: dependabot-preview[bot] * [Security] Bump cached-path-relative from 1.0.1 to 1.0.2 Bumps [cached-path-relative](https://github.com/ashaffer/cached-path-relative) from 1.0.1 to 1.0.2. **This update includes security fixes.** - [Release notes](https://github.com/ashaffer/cached-path-relative/releases) - [Commits](https://github.com/ashaffer/cached-path-relative/commits) Signed-off-by: dependabot-preview[bot] * [Security] Bump extend from 3.0.1 to 3.0.2 Bumps [extend](https://github.com/justmoon/node-extend) from 3.0.1 to 3.0.2. **This update includes a security fix.** - [Release notes](https://github.com/justmoon/node-extend/releases) - [Changelog](https://github.com/justmoon/node-extend/blob/master/CHANGELOG.md) - [Commits](https://github.com/justmoon/node-extend/compare/v3.0.1...v3.0.2) Signed-off-by: dependabot-preview[bot] * [Security] Bump fstream from 1.0.11 to 1.0.12 Bumps [fstream](https://github.com/npm/fstream) from 1.0.11 to 1.0.12. **This update includes a security fix.** - [Release notes](https://github.com/npm/fstream/releases) - [Commits](https://github.com/npm/fstream/compare/v1.0.11...v1.0.12) Signed-off-by: dependabot-preview[bot] * [Security] Bump node.extend from 1.1.6 to 1.1.8 Bumps [node.extend](https://github.com/dreamerslab/node.extend) from 1.1.6 to 1.1.8. **This update includes a security fix.** - [Release notes](https://github.com/dreamerslab/node.extend/releases) - [Changelog](https://github.com/dreamerslab/node.extend/blob/master/History.md) - [Commits](https://github.com/dreamerslab/node.extend/compare/v1.1.6...v1.1.8) Signed-off-by: dependabot-preview[bot] * [Security] Bump tar from 2.2.1 to 2.2.2 Bumps [tar](https://github.com/npm/node-tar) from 2.2.1 to 2.2.2. **This update includes a security fix.** - [Release notes](https://github.com/npm/node-tar/releases) - [Commits](https://github.com/npm/node-tar/compare/v2.2.1...v2.2.2) Signed-off-by: dependabot-preview[bot] * [Security] Bump merge from 1.2.0 to 1.2.1 Bumps [merge](https://github.com/yeikos/js.merge) from 1.2.0 to 1.2.1. **This update includes a security fix.** - [Release notes](https://github.com/yeikos/js.merge/releases) - [Commits](https://github.com/yeikos/js.merge/compare/v1.2.0...v1.2.1) Signed-off-by: dependabot-preview[bot] * [Security] Bump stringstream from 0.0.5 to 0.0.6 Bumps [stringstream](https://github.com/mhart/StringStream) from 0.0.5 to 0.0.6. **This update includes security fixes.** - [Release notes](https://github.com/mhart/StringStream/releases) - [Commits](https://github.com/mhart/StringStream/compare/v0.0.5...v0.0.6) Signed-off-by: dependabot-preview[bot] * [Security] Bump macaddress from 0.2.8 to 0.2.9 Bumps [macaddress](https://github.com/scravy/node-macaddress) from 0.2.8 to 0.2.9. **This update includes security fixes.** - [Release notes](https://github.com/scravy/node-macaddress/releases) - [Commits](https://github.com/scravy/node-macaddress/compare/0.2.8...0.2.9) Signed-off-by: dependabot-preview[bot] * [Security] Bump sshpk from 1.13.1 to 1.16.1 Bumps [sshpk](https://github.com/joyent/node-sshpk) from 1.13.1 to 1.16.1. **This update includes security fixes.** - [Release notes](https://github.com/joyent/node-sshpk/releases) - [Commits](https://github.com/joyent/node-sshpk/compare/v1.13.1...v1.16.1) Signed-off-by: dependabot-preview[bot] * [Security] Bump lodash-es from 4.17.5 to 4.17.15 Bumps [lodash-es](https://github.com/lodash/lodash) from 4.17.5 to 4.17.15. **This update includes a security fix.** - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.5...4.17.15) Signed-off-by: dependabot-preview[bot] * [Security] Bump lodash.template from 4.4.0 to 4.5.0 Bumps [lodash.template](https://github.com/lodash/lodash) from 4.4.0 to 4.5.0. **This update includes a security fix.** - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.4.0...4.5.0) Signed-off-by: dependabot-preview[bot] * [Security] Bump lodash.mergewith from 4.6.1 to 4.6.2 Bumps [lodash.mergewith](https://github.com/lodash/lodash) from 4.6.1 to 4.6.2. **This update includes a security fix.** - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/commits) Signed-off-by: dependabot-preview[bot] * Bump draft-js-plugins-editor from 2.0.4 to 2.1.1 Bumps [draft-js-plugins-editor](https://github.com/draft-js-plugins/draft-js-plugins) from 2.0.4 to 2.1.1. - [Release notes](https://github.com/draft-js-plugins/draft-js-plugins/releases) - [Changelog](https://github.com/draft-js-plugins/draft-js-plugins/blob/master/CHANGELOG.md) - [Commits](https://github.com/draft-js-plugins/draft-js-plugins/commits) Signed-off-by: dependabot-preview[bot] * Bump yarn from 1.5.1 to 1.17.3 Bumps [yarn](https://github.com/yarnpkg/yarn) from 1.5.1 to 1.17.3. - [Release notes](https://github.com/yarnpkg/yarn/releases) - [Changelog](https://github.com/yarnpkg/yarn/blob/v1.17.3/CHANGELOG.md) - [Commits](https://github.com/yarnpkg/yarn/compare/v1.5.1...v1.17.3) Signed-off-by: dependabot-preview[bot] * Bump babel-jest from 22.0.6 to 23.6.0 Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 22.0.6 to 23.6.0. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/commits/v23.6.0/packages/babel-jest) Signed-off-by: dependabot-preview[bot] * [Security] Bump lodash.merge from 4.6.1 to 4.6.2 Bumps [lodash.merge](https://github.com/lodash/lodash) from 4.6.1 to 4.6.2. **This update includes a security fix.** - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/commits) Signed-off-by: dependabot-preview[bot] * Incorporate feedback from security alerts (#279) * Bump react-loadable from 5.3.1 to 5.5.0 Bumps [react-loadable](https://github.com/thejameskyle/react-loadable) from 5.3.1 to 5.5.0. - [Release notes](https://github.com/thejameskyle/react-loadable/releases) - [Commits](https://github.com/thejameskyle/react-loadable/compare/v5.3.1...v5.5.0) Signed-off-by: dependabot-preview[bot] * Bump babel-core from 6.26.0 to 6.26.3 Bumps [babel-core](https://github.com/babel/babel) from 6.26.0 to 6.26.3. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/compare/v6.26.0...v6.26.3) Signed-off-by: dependabot-preview[bot] * Update bid-tracker-card's view position link (#315) * Update bid-tracker-card's view position link * updating test and snapshot files for the bid tracker to include cycleposition * Include Bid Cycle/Season and Posted date in the results export (#301) * Bump react-tippy from 1.2.2 to 1.2.3 (#316) Bumps [react-tippy](https://github.com/tvkhoa/react-tippy) from 1.2.2 to 1.2.3. - [Release notes](https://github.com/tvkhoa/react-tippy/releases) - [Commits](https://github.com/tvkhoa/react-tippy/commits) Signed-off-by: dependabot-preview[bot] * Use comma formatting for pagination/total results * Bump react-scroll from 1.7.7 to 1.7.12 Bumps [react-scroll](https://github.com/fisshy/react-scroll) from 1.7.7 to 1.7.12. - [Release notes](https://github.com/fisshy/react-scroll/releases) - [Changelog](https://github.com/fisshy/react-scroll/blob/master/CHANGELOG.md) - [Commits](https://github.com/fisshy/react-scroll/commits) Signed-off-by: dependabot-preview[bot] * Add mobile-responsive results cards and filters * Bump style-loader from 0.19.1 to 0.23.1 Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 0.19.1 to 0.23.1. - [Release notes](https://github.com/webpack-contrib/style-loader/releases) - [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/style-loader/compare/v0.19.1...v0.23.1) Signed-off-by: dependabot-preview[bot] * Bump react-day-picker from 7.3.0 to 7.3.2 (#324) Bumps [react-day-picker](https://github.com/gpbl/react-day-picker) from 7.3.0 to 7.3.2. - [Release notes](https://github.com/gpbl/react-day-picker/releases) - [Changelog](https://github.com/gpbl/react-day-picker/blob/master/CHANGELOG.md) - [Commits](https://github.com/gpbl/react-day-picker/compare/v7.3.0...v7.3.2) Signed-off-by: dependabot-preview[bot] * Bump typeface-roboto from 0.0.50 to 0.0.75 (#326) Bumps [typeface-roboto](https://github.com/KyleAMathews/typefaces) from 0.0.50 to 0.0.75. - [Release notes](https://github.com/KyleAMathews/typefaces/releases) - [Commits](https://github.com/KyleAMathews/typefaces/compare/v0.0.50...v0.0.75) Signed-off-by: dependabot-preview[bot] * Bump memoize-one from 5.0.2 to 5.0.5 Bumps [memoize-one](https://github.com/alexreardon/memoize-one) from 5.0.2 to 5.0.5. - [Release notes](https://github.com/alexreardon/memoize-one/releases) - [Commits](https://github.com/alexreardon/memoize-one/compare/5.0.2...v5.0.5) Signed-off-by: dependabot-preview[bot] * Bump axios-mock-adapter from 1.14.1 to 1.17.0 Bumps [axios-mock-adapter](https://github.com/ctimmerm/axios-mock-adapter) from 1.14.1 to 1.17.0. - [Release notes](https://github.com/ctimmerm/axios-mock-adapter/releases) - [Changelog](https://github.com/ctimmerm/axios-mock-adapter/blob/master/CHANGELOG.md) - [Commits](https://github.com/ctimmerm/axios-mock-adapter/compare/v1.14.1...v1.17.0) Signed-off-by: dependabot-preview[bot] * Polyfill 'remove' to fix app breaking in IE11 (#328) * Bump shortid from 2.2.8 to 2.2.14 Bumps [shortid](https://github.com/dylang/shortid) from 2.2.8 to 2.2.14. - [Release notes](https://github.com/dylang/shortid/releases) - [Changelog](https://github.com/dylang/shortid/blob/master/CHANGELOG.md) - [Commits](https://github.com/dylang/shortid/compare/2.2.8...2.2.14) Signed-off-by: dependabot-preview[bot] * Bump postcss-flexbugs-fixes from 3.2.0 to 4.1.0 Bumps [postcss-flexbugs-fixes](https://github.com/luisrudge/postcss-flexbugs-fixes) from 3.2.0 to 4.1.0. - [Release notes](https://github.com/luisrudge/postcss-flexbugs-fixes/releases) - [Changelog](https://github.com/luisrudge/postcss-flexbugs-fixes/blob/master/CHANGELOG.md) - [Commits](https://github.com/luisrudge/postcss-flexbugs-fixes/commits) Signed-off-by: dependabot-preview[bot] * Bump react-scrollbar from 0.5.4 to 0.5.6 Bumps [react-scrollbar](https://github.com/souhe/reactScrollbar) from 0.5.4 to 0.5.6. - [Release notes](https://github.com/souhe/reactScrollbar/releases) - [Commits](https://github.com/souhe/reactScrollbar/compare/v0.5.4...v0.5.6) Signed-off-by: dependabot-preview[bot] * Bump redux-saga from 0.15.6 to 0.16.2 Bumps [redux-saga](https://github.com/redux-saga/redux-saga) from 0.15.6 to 0.16.2. - [Release notes](https://github.com/redux-saga/redux-saga/releases) - [Changelog](https://github.com/redux-saga/redux-saga/blob/master/CHANGELOG.md) - [Commits](https://github.com/redux-saga/redux-saga/compare/v0.15.6...v0.16.2) Signed-off-by: dependabot-preview[bot] * Add test coverage, ignore coverage for polyfills (#337) * Fix Favorites container width in IE11 (#336) * Bump react-toastify from 4.5.1 to 5.3.2 Bumps [react-toastify](https://github.com/fkhadra/react-toastify) from 4.5.1 to 5.3.2. - [Release notes](https://github.com/fkhadra/react-toastify/releases) - [Commits](https://github.com/fkhadra/react-toastify/compare/v4.5.1...v5.3.2) Signed-off-by: dependabot-preview[bot] * Bump babel-plugin-lodash from 3.3.2 to 3.3.4 Bumps [babel-plugin-lodash](https://github.com/lodash/babel-plugin-lodash) from 3.3.2 to 3.3.4. - [Release notes](https://github.com/lodash/babel-plugin-lodash/releases) - [Commits](https://github.com/lodash/babel-plugin-lodash/compare/3.3.2...3.3.4) Signed-off-by: dependabot-preview[bot] * Bump postcss-loader from 2.0.10 to 3.0.0 Bumps [postcss-loader](https://github.com/postcss/postcss-loader) from 2.0.10 to 3.0.0. - [Release notes](https://github.com/postcss/postcss-loader/releases) - [Changelog](https://github.com/postcss/postcss-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss-loader/compare/v2.0.10...v3.0.0) Signed-off-by: dependabot-preview[bot] * Add status code to export (#343) * Bump react-scroll from 1.7.12 to 1.7.13 Bumps [react-scroll](https://github.com/fisshy/react-scroll) from 1.7.12 to 1.7.13. - [Release notes](https://github.com/fisshy/react-scroll/releases) - [Changelog](https://github.com/fisshy/react-scroll/blob/master/CHANGELOG.md) - [Commits](https://github.com/fisshy/react-scroll/commits) Signed-off-by: dependabot-preview[bot] * Bump sw-precache-webpack-plugin from 0.11.4 to 0.11.5 Bumps [sw-precache-webpack-plugin](https://github.com/goldhand/sw-precache-webpack-plugin) from 0.11.4 to 0.11.5. - [Release notes](https://github.com/goldhand/sw-precache-webpack-plugin/releases) - [Changelog](https://github.com/goldhand/sw-precache-webpack-plugin/blob/master/CHANGELOG.md) - [Commits](https://github.com/goldhand/sw-precache-webpack-plugin/compare/v0.11.4...v0.11.5) Signed-off-by: dependabot-preview[bot] * Filter out `q` property in PV search, make use of `parsed` object in query * Use lodash toString and lowerCase (#351) * Bid Tracker help text and Glossary linking (#320) * Update "Why is this taking so long" with definitions and scroll to glossary term on click * Move inline style to class * Increase test coverage, including mock for server * Bump sass-lint from 1.12.1 to 1.13.1 Bumps [sass-lint](https://github.com/sasstools/sass-lint) from 1.12.1 to 1.13.1. - [Release notes](https://github.com/sasstools/sass-lint/releases) - [Changelog](https://github.com/sasstools/sass-lint/blob/v1.13.1/CHANGELOG.md) - [Commits](https://github.com/sasstools/sass-lint/compare/v1.12.1...v1.13.1) Signed-off-by: dependabot-preview[bot] * Bump supertest from 3.0.0 to 4.0.2 Bumps [supertest](https://github.com/visionmedia/supertest) from 3.0.0 to 4.0.2. - [Release notes](https://github.com/visionmedia/supertest/releases) - [Commits](https://github.com/visionmedia/supertest/compare/v3.0.0...v4.0.2) Signed-off-by: dependabot-preview[bot] * Bump chalk from 2.3.0 to 2.4.2 Bumps [chalk](https://github.com/chalk/chalk) from 2.3.0 to 2.4.2. - [Release notes](https://github.com/chalk/chalk/releases) - [Commits](https://github.com/chalk/chalk/compare/v2.3.0...v2.4.2) Signed-off-by: dependabot-preview[bot] * Bump redux-mock-store from 1.5.1 to 1.5.3 (#362) Bumps [redux-mock-store](https://github.com/arnaudbenard/redux-mock-store) from 1.5.1 to 1.5.3. - [Release notes](https://github.com/arnaudbenard/redux-mock-store/releases) - [Commits](https://github.com/arnaudbenard/redux-mock-store/commits/v1.5.3) Signed-off-by: dependabot-preview[bot] * Glossary focus (#335) * Close Glossary on outside click * Use "preventScroll: true" by default on focusById utility * Fix componentWillReceiveProps logic, add comments * Track login on session start (#363) * Track login on session start * Remove eslint-disable * Get JWT request URL from config, store in sessionStorage * Clean up variable and header names * Bump typeface-merriweather from 0.0.54 to 0.0.72 Bumps [typeface-merriweather](https://github.com/KyleAMathews/typefaces) from 0.0.54 to 0.0.72. - [Release notes](https://github.com/KyleAMathews/typefaces/releases) - [Commits](https://github.com/KyleAMathews/typefaces/compare/v0.0.54...v0.0.72) Signed-off-by: dependabot-preview[bot] * Fix/circleci (#350) * Add fallback * Freeze lockfile * Add site step * 🐛 Fix step name 🐛 * Add branch to cache key * Add JUnit coverage reporter * 🐛 Remove working directory 🐛 * Add frozen lockfile, aka ❄️🔒📄 * Disable webpack performance hints * Filter branches for Docker steps * Update AuthUrl * Migrate from obc_id to api-generated urls * Update routing to always set token from the tokenValidation query parameter * Fix badges * Bump react-simple-dropdown from 3.2.0 to 3.2.3 Bumps [react-simple-dropdown](https://github.com/Fauntleroy/react-simple-dropdown) from 3.2.0 to 3.2.3. - [Release notes](https://github.com/Fauntleroy/react-simple-dropdown/releases) - [Commits](https://github.com/Fauntleroy/react-simple-dropdown/compare/3.2.0...3.2.3) Signed-off-by: dependabot-preview[bot] * Bump html-webpack-plugin from 2.30.1 to 3.2.0 Bumps [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) from 2.30.1 to 3.2.0. - [Release notes](https://github.com/jantimon/html-webpack-plugin/releases) - [Changelog](https://github.com/jantimon/html-webpack-plugin/blob/master/CHANGELOG.md) - [Commits](https://github.com/jantimon/html-webpack-plugin/compare/v2.30.1...v3.2.0) Signed-off-by: dependabot-preview[bot] * Remove OBC routes, env vars, tests, etc (#378) * CircleCI - Enhancements (#377) * Update version * Remove optional dependency fsevents * Add fsevents * Remove fsevents * Change yarn install * Change lockfile * Rebuild node-sass --- .circleci/config.yml | 2 +- EXAMPLE_setup_environment.sh | 5 - README.md | 9 +- circleci-docker-compose.yml | 1 - config/webpack.config.prod.js | 2 +- docker-compose.yml | 1 - package.json | 48 +- public/config/config.json | 1 + public/config/config_dev.json | 1 + public/jwt.test.txt | 1 + service/talentmap.service | 3 - .../Dashboard/DataSync/DataSync.test.jsx | 14 + .../BidTrackerCard/BidTrackerCard.jsx | 5 +- .../BidTrackerCard.test.jsx.snap | 3 +- .../BidTrackerCardTop/BidTrackerCardTop.jsx | 50 +- .../BidTrackerCardTop.test.jsx | 19 +- .../BidTrackerCardTop.test.jsx.snap | 8 - .../__snapshots__/IsOnStandby.test.jsx.snap | 2 +- .../__snapshots__/BidControls.test.jsx.snap | 2 + src/Components/CompareList/CompareList.jsx | 4 +- .../__snapshots__/CompareList.test.jsx.snap | 20 - .../FavoritePositions.test.jsx.snap | 9 +- src/Components/Glossary/Glossary.jsx | 26 +- .../GlossaryListing/GlossaryListing.jsx | 4 +- .../__snapshots__/Glossary.test.jsx.snap | 2 + src/Components/Header/Header.jsx | 3 +- .../Header/__snapshots__/Header.test.jsx.snap | 8 +- .../HomePageBanner/HomePageBanner.jsx | 4 +- .../HomePageBanner/HomePageBanner.test.jsx | 7 +- .../HomePagePositionsList.test.jsx.snap | 14 +- .../HomePagePositionsSection.test.jsx.snap | 2 +- .../__snapshots__/Notifications.test.jsx.snap | 1 + src/Components/OBCUrl/OBCUrl.jsx | 12 +- src/Components/OBCUrl/OBCUrl.test.jsx | 28 +- .../OBCUrl/__snapshots__/OBCUrl.test.jsx.snap | 20 +- .../PositionDetailsContact.jsx | 6 +- .../PositionDetailsItem.jsx | 6 +- .../PositionDetailsItem.test.jsx.snap | 30 +- .../PositionTitle/PositionTitle.jsx | 4 +- .../PositionTitle/PositionTitle.test.jsx | 6 +- .../FavoritesListResultsCard.test.jsx.snap | 2 +- .../__snapshots__/FavoritesList.test.jsx.snap | 2 +- src/Components/ResultsCard/ResultsCard.jsx | 81 +- .../__snapshots__/ResultsCard.test.jsx.snap | 4 +- .../ResultsCondensedCard.test.jsx.snap | 6 +- .../ResultsCondensedCardBottom.test.jsx.snap | 4 +- .../ResultsContainer/ResultsContainer.jsx | 47 +- .../ResultsContainer.test.jsx | 10 +- .../ResultsContainer.test.jsx.snap | 10 +- .../ResultsControls/ResultsControls.jsx | 100 ++- .../ResultsControls.test.jsx.snap | 92 +-- .../MobileControls/MobileControls.jsx | 41 + .../MobileControls/index.js | 1 + .../ResultsFilterContainer.jsx | 2 + .../ResultsFilterContainer.test.jsx.snap | 2 + .../ResultsMultiSearchHeader.test.jsx.snap | 4 +- src/Components/ResultsPage/ResultsPage.jsx | 58 +- .../ResultsPage/ResultsPage.test.jsx | 6 +- .../ResultsSearchHeader.jsx | 1 + .../__snapshots__/SavedSearches.test.jsx.snap | 1 + .../SearchResultsExportLink.jsx | 1 + .../SearchResultsExportLink.test.jsx | 11 +- .../SearchResultsExportLink.test.jsx.snap | 32 +- src/Components/SelectForm/SelectForm.jsx | 6 +- .../__snapshots__/SelectForm.test.jsx.snap | 2 + src/Components/TotalResults/TotalResults.jsx | 13 +- .../ViewPostDataButton/ViewPostDataButton.jsx | 6 +- .../ViewPostDataButton.test.jsx | 4 +- .../ViewPostDataButton.test.jsx.snap | 2 +- src/Constants/BidData.js | 33 + src/Containers/About/About.test.jsx | 21 +- .../Notifications/Notifications.jsx | 8 +- src/Containers/Results/Results.jsx | 5 +- src/Containers/Results/Results.test.jsx | 2 + src/Containers/Routes/RoutesMap.jsx | 13 +- src/__mocks__/resultsObject.js | 2 +- .../autocomplete/postAutocomplete.test.js | 6 +- src/actions/filters/filters.test.js | 2 + src/actions/highlightPosition.test.js | 24 +- src/actions/positionCount.test.js | 4 +- src/actions/results.js | 5 +- src/actions/showMobileFilter.js | 12 + src/actions/synchronizations.test.js | 32 + src/actions/userProfile.js | 6 + src/actions/userProfile.test.js | 14 + src/api.js | 13 +- src/index.jsx | 32 +- src/login/Components/TokenValidation.jsx | 14 +- src/login/Components/TokenValidation.test.jsx | 36 +- src/login/index.jsx | 32 +- src/login/index.test.jsx | 64 +- src/login/sagas.js | 12 +- src/polyfills/index.js | 18 + src/reducers/index.js | 2 + src/reducers/showMobileFilter/index.js | 3 + .../showMobileFilter/showMobileFilter.js | 8 + .../showMobileFilter/showMobileFilter.test.js | 7 + src/routes.js | 2 +- src/sass/_accessibility.scss | 1 + src/sass/_header.scss | 5 + src/sass/_pagination.scss | 10 + src/sass/_profile.scss | 7 + src/sass/_results.scss | 134 +++- src/sass/_resultsSearchBarContainer.scss | 21 + src/sass/_tooltip.scss | 4 + src/server.js | 30 +- src/server.test.js | 49 +- src/utilities.js | 51 +- yarn.lock | 749 +++++++++--------- 109 files changed, 1464 insertions(+), 973 deletions(-) create mode 100644 public/jwt.test.txt create mode 100644 src/Components/ResultsFilterContainer/MobileControls/MobileControls.jsx create mode 100644 src/Components/ResultsFilterContainer/MobileControls/index.js create mode 100644 src/actions/showMobileFilter.js create mode 100644 src/polyfills/index.js create mode 100644 src/reducers/showMobileFilter/index.js create mode 100644 src/reducers/showMobileFilter/showMobileFilter.js create mode 100644 src/reducers/showMobileFilter/showMobileFilter.test.js diff --git a/.circleci/config.yml b/.circleci/config.yml index a05efe4fd0..5acdf43d38 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -233,4 +233,4 @@ workflows: only: - dev - staging - - master \ No newline at end of file + - master diff --git a/EXAMPLE_setup_environment.sh b/EXAMPLE_setup_environment.sh index 5fbe4e812a..5bd0e3c19c 100644 --- a/EXAMPLE_setup_environment.sh +++ b/EXAMPLE_setup_environment.sh @@ -23,11 +23,6 @@ export API_URL=http://localhost:8000/api/v1 # Default - 3000 export PORT=3000 -# Protocol, hostname and port of OBC, -# which provides post and country details -# Default - local test value http://localhost:4000/ -export OBC_URL=http://localhost:4000/ - # External link to the About page # Default - local test value https://github.com/18F/State-TalentMAP export ABOUT_PAGE=https://github.com/18F/State-TalentMAP diff --git a/README.md b/README.md index 4278281556..301a6de19d 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,11 @@ # United States Department of State TalentMAP -[![Build Status](https://circleci.com/gh/USStateDept/State-TalentMAP.svg?style=shield)](https://circleci.com/gh/USStateDept/State-TalentMAP/) -[![Test Coverage](https://codeclimate.com/github/USStateDept/State-TalentMAP/badges/coverage.svg)](https://codeclimate.com/github/USStateDept/State-TalentMAP/coverage) -[![Code Climate](https://codeclimate.com/github/USStateDept/State-TalentMAP/badges/gpa.svg)](https://codeclimate.com/github/USStateDept/State-TalentMAP) + + + + + + A comprehensive research, bidding, and matching system to match Foreign Service employees with the right skills to available posts and positions. diff --git a/circleci-docker-compose.yml b/circleci-docker-compose.yml index 9cdad2a0ad..dee5c349e6 100644 --- a/circleci-docker-compose.yml +++ b/circleci-docker-compose.yml @@ -9,7 +9,6 @@ services: - PUBLIC_URL=/talentmap/ - STATIC_PATH=/app/build/ - API_ROOT=http://app:8000/ - - OBC_URL=http://obc:4000/ container_name: web volumes_from: - data diff --git a/config/webpack.config.prod.js b/config/webpack.config.prod.js index 05d03e70ab..ef6a06b004 100644 --- a/config/webpack.config.prod.js +++ b/config/webpack.config.prod.js @@ -351,6 +351,6 @@ module.exports = { tls: 'empty', }, performance: { - hints: "warning", + hints: false, }, }; diff --git a/docker-compose.yml b/docker-compose.yml index 348caf52c7..71128ec862 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,7 +10,6 @@ services: - PUBLIC_URL=/talentmap/ - STATIC_PATH=/app/build/ - API_ROOT=http://api:8000/ - - OBC_URL=http://obc:4000/ volumes: - .:/app:delegated - node-modules:/app/node_modules/ diff --git a/package.json b/package.json index b5e59aa897..1fccae81ac 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "dependencies": { "@cmsgov/design-system-core": "^1.18.0", "axios": "^0.18.1", - "babel-plugin-lodash": "^3.3.2", + "babel-plugin-lodash": "^3.3.4", "babel-polyfill": "^6.26.0", "body-parser": "^1.18.2", "bunyan": "^1.8.12", @@ -22,7 +22,7 @@ "immutable": "^3.8.2", "lodash": "^4.17.13", "lodash-webpack-plugin": "^0.11.5", - "memoize-one": "^5.0.2", + "memoize-one": "^5.0.5", "numeral": "^2.0.6", "prop-types": "^15.6.0", "q": "^1.5.1", @@ -31,7 +31,7 @@ "react": "^15.6.2", "react-autosuggest": "^9.3.2", "react-countup": "3.0.3", - "react-day-picker": "^7.3.0", + "react-day-picker": "^7.3.2", "react-dom": "^15.6.2", "react-fontawesome": "^1.6.1", "react-helmet": "^5.2.0", @@ -48,30 +48,30 @@ "react-router-dom": "^4.2.2", "react-router-redux": "^5.0.0-alpha.9", "react-router-scroll-4": "^1.0.0-beta.1", - "react-scroll": "^1.7.5", + "react-scroll": "^1.7.13", "react-scroll-up-button": "^1.6.4", - "react-scrollbar": "^0.5.4", + "react-scrollbar": "^0.5.6", "react-select": "^1.1.0", - "react-simple-dropdown": "^3.2.0", + "react-simple-dropdown": "^3.2.3", "react-spring": "4.0.0", - "react-tippy": "^1.2.2", - "react-toastify": "^4.5.1", + "react-tippy": "^1.2.3", + "react-toastify": "^5.3.2", "redux": "^3.7.1", "redux-form": "^7.2.0", "redux-persist": "^5.10.0", - "redux-saga": "^0.15.6", + "redux-saga": "^0.16.2", "redux-thunk": "^2.2.0", "saml2-js": "2.0.2", - "shortid": "^2.2.8", + "shortid": "^2.2.14", "time-input": "^1.6.1", - "typeface-merriweather": "^0.0.54", - "typeface-roboto": "^0.0.50", + "typeface-merriweather": "^0.0.72", + "typeface-roboto": "^0.0.75", "uswds": "~1.6.0" }, "devDependencies": { "@epegzz/sass-vars-loader": "^3.2.0", "autoprefixer": "7.2.5", - "axios-mock-adapter": "^1.10.0", + "axios-mock-adapter": "^1.17.0", "babel-core": "6.26.3", "babel-eslint": "7.2.3", "babel-jest": "23.6.0", @@ -82,7 +82,7 @@ "babel-runtime": "6.26.0", "bundlesize": "^0.17.1", "case-sensitive-paths-webpack-plugin": "2.1.1", - "chalk": "2.3.0", + "chalk": "2.4.2", "css-loader": "0.28.8", "dotenv": "4.0.0", "enzyme": "^2.9.1", @@ -98,29 +98,30 @@ "extract-text-webpack-plugin": "^2.1.2", "file-loader": "0.11.2", "fs-extra": "3.0.1", - "html-webpack-plugin": "2.30.1", + "html-webpack-plugin": "3.2.0", "jest": "24.7.1", "jest-localstorage-mock": "^1.2.0", "mock-local-storage": "^1.0.5", + "node-mocks-http": "^1.7.6", "node-sass": "^4.7.2", "object-assign": "4.1.1", "pa11y-ci": "^1.3.1", - "postcss-flexbugs-fixes": "3.2.0", - "postcss-loader": "2.0.10", + "postcss-flexbugs-fixes": "4.1.0", + "postcss-loader": "3.0.0", "promise": "7.3.1", "react-dev-utils": "^3.1.2", "react-error-overlay": "^1.0.10", "react-router-test-context": "^0.1.0", "react-test-renderer": "^15.6.1", - "redux-mock-store": "^1.4.0", + "redux-mock-store": "^1.5.3", "redux-saga-test-plan": "^3.2.0", "redux-testkit": "^1.0.6", - "sass-lint": "^1.12.1", + "sass-lint": "^1.13.1", "sass-loader": "^6.0.6", "sinon": "^2.4.1", - "style-loader": "0.19.1", - "supertest": "^3.0.0", - "sw-precache-webpack-plugin": "0.11.4", + "style-loader": "0.23.1", + "supertest": "^4.0.2", + "sw-precache-webpack-plugin": "0.11.5", "url-loader": "0.6.2", "webpack": "^2.7.0", "webpack-dev-server": "2.10.1", @@ -148,7 +149,8 @@ "!src/Components/StaticDevContent/*", "!src/actions/showStaticContent.js", "!src/reducers/showStaticContent.js", - "!src/Components/CSV/**/*.{js,jsx}" + "!src/Components/CSV/**/*.{js,jsx}", + "!src/polyfills/**/*.{js,jsx}" ], "coverageReporters": [ "text-summary", diff --git a/public/config/config.json b/public/config/config.json index 9b93386d87..d9b1f8daa3 100644 --- a/public/config/config.json +++ b/public/config/config.json @@ -2,6 +2,7 @@ "api_config": { "baseURL": "http://localhost:8000/api/v1" }, + "hrAuthUrl": "http://localhost:3333/Authorize?sAppCircuitID=32", "flags": { "bidding": true, "projected_vacancy": true, diff --git a/public/config/config_dev.json b/public/config/config_dev.json index baf9fdbf23..acd2aa9c18 100644 --- a/public/config/config_dev.json +++ b/public/config/config_dev.json @@ -2,6 +2,7 @@ "api_config": { "baseURL": "https://dev.talentmap.api.metaphasedev.com/api/v1" }, + "hrAuthUrl": "http://dev.talentmap.fsbid.metaphasedev.com/Authorize?sAppCircuitID=32", "flags": { "bidding": true, "projected_vacancy": true, diff --git a/public/jwt.test.txt b/public/jwt.test.txt new file mode 100644 index 0000000000..f287fb8286 --- /dev/null +++ b/public/jwt.test.txt @@ -0,0 +1 @@ +"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" diff --git a/service/talentmap.service b/service/talentmap.service index 40c9e3d0f3..d84fb40ccf 100644 --- a/service/talentmap.service +++ b/service/talentmap.service @@ -31,9 +31,6 @@ Environment=STATIC_PATH=/var/www/html/talentmap/ Environment=API_ROOT=http://localhost:8000/ Environment=API_URL=http://localhost:8000/api/v1 -# Protocol, hostname and port of OBC, -Environment=OBC_URL=http://localhost:4000/ - # External link to the About page Environment=ABOUT_PAGE=https://github.com/18F/State-TalentMAP diff --git a/src/Components/AdministratorPage/Dashboard/DataSync/DataSync.test.jsx b/src/Components/AdministratorPage/Dashboard/DataSync/DataSync.test.jsx index 921a623775..2c86ee53e5 100644 --- a/src/Components/AdministratorPage/Dashboard/DataSync/DataSync.test.jsx +++ b/src/Components/AdministratorPage/Dashboard/DataSync/DataSync.test.jsx @@ -64,4 +64,18 @@ describe('DataSync', () => { wrapper.instance().updateVal({ target: { value: 'a' } }, 'fieldA'); expect(wrapper.instance().state.formValues.fieldA).toBe('a'); }); + + it('updates state with setJob()', () => { + const wrapper = shallow(); + wrapper.instance().setJob(props.syncJobs[0]); + expect(wrapper.instance().state.formValues.id).toBeDefined(); + }); + + it('submits a job with submitSync()', () => { + const job = {}; + const wrapper = shallow( { job.value = e; }} />); + wrapper.instance().setJob(props.syncJobs[0]); + wrapper.instance().submitSync(); + expect(job.value).toBeDefined(); + }); }); diff --git a/src/Components/BidTracker/BidTrackerCard/BidTrackerCard.jsx b/src/Components/BidTracker/BidTrackerCard/BidTrackerCard.jsx index 252a70355c..5477e98a02 100644 --- a/src/Components/BidTracker/BidTrackerCard/BidTrackerCard.jsx +++ b/src/Components/BidTracker/BidTrackerCard/BidTrackerCard.jsx @@ -14,6 +14,7 @@ import { HAND_SHAKE_ACCEPTED_PROP, PRE_PANEL_PROP, IN_PANEL_PROP, + BID_EXPLANATION_TEXT, } from '../../../Constants/BidData'; import { formatDate, formatIdSpacing, getTimeDistanceInWords } from '../../../utilities'; @@ -42,7 +43,7 @@ class BidTrackerCard extends Component { priorityExists ? 'bid-tracker--priority-exists' : '', ].join(' '); const showBidCount$ = showBidCount && !priorityExists; - const showQuestion = bid.status !== APPROVED_PROP; + const questionText = get(BID_EXPLANATION_TEXT, `[${bid.status}]`); return (
@@ -51,7 +52,7 @@ class BidTrackerCard extends Component { deleteBid={deleteBid} showBidCount={showBidCount$} hideDelete={priorityExists} - showQuestion={showQuestion} + questionText={questionText} />
diff --git a/src/Components/BidTracker/BidTrackerCard/__snapshots__/BidTrackerCard.test.jsx.snap b/src/Components/BidTracker/BidTrackerCard/__snapshots__/BidTrackerCard.test.jsx.snap index f3b36a1532..737c5dfadc 100644 --- a/src/Components/BidTracker/BidTrackerCard/__snapshots__/BidTrackerCard.test.jsx.snap +++ b/src/Components/BidTracker/BidTrackerCard/__snapshots__/BidTrackerCard.test.jsx.snap @@ -16,7 +16,7 @@ exports[`BidTrackerCardComponent matches snapshot 1`] = `
-
( + + {questionText.text} + + {questionText.link} + + + ); return (
@@ -42,7 +64,17 @@ class BidTrackerCardTop extends Component { { showQuestion &&
- Why is it taking so long? + + + Why is it taking so long? + +
}
@@ -64,16 +96,26 @@ class BidTrackerCardTop extends Component { BidTrackerCardTop.propTypes = { bid: BID_OBJECT.isRequired, - showQuestion: PropTypes.bool, // Determine whether or not to show the question text + questionText: PropTypes.shape({ + text: PropTypes.string, + link: PropTypes.string, + term: PropTypes.string, + }), deleteBid: PropTypes.func.isRequired, showBidCount: PropTypes.bool, hideDelete: PropTypes.bool, + toggle: PropTypes.func.isRequired, }; BidTrackerCardTop.defaultProps = { + questionText: {}, showQuestion: true, showBidCount: true, hideDelete: false, }; -export default BidTrackerCardTop; +export const mapDispatchToProps = dispatch => ({ + toggle: () => dispatch(toggleGlossary(true)), +}); + +export default connect(null, mapDispatchToProps)(BidTrackerCardTop); diff --git a/src/Components/BidTracker/BidTrackerCardTop/BidTrackerCardTop.test.jsx b/src/Components/BidTracker/BidTrackerCardTop/BidTrackerCardTop.test.jsx index 902483d2ca..07aa3c2cb8 100644 --- a/src/Components/BidTracker/BidTrackerCardTop/BidTrackerCardTop.test.jsx +++ b/src/Components/BidTracker/BidTrackerCardTop/BidTrackerCardTop.test.jsx @@ -12,11 +12,20 @@ describe('BidTrackerCardTopComponent', () => { const props = { bid, deleteBid, + toggle: () => {}, }; it('is defined', () => { const wrapper = shallow( - , + , + ); + expect(wrapper).toBeDefined(); + }); + + it('is defined with questionText', () => { + const questionText = { text: 'text', link: 'link', term: 'term' }; + const wrapper = shallow( + , ); expect(wrapper).toBeDefined(); }); @@ -25,7 +34,7 @@ describe('BidTrackerCardTopComponent', () => { const newBid = { ...props.bid }; newBid.status = 'fake status'; const wrapper = shallow( - , + , ); expect(wrapper).toBeDefined(); }); @@ -34,7 +43,7 @@ describe('BidTrackerCardTopComponent', () => { const newBid = { ...props.bid }; newBid.can_delete = true; const wrapper = shallow( - , + , ); expect(wrapper).toBeDefined(); expect(wrapper.find('remove-bid-link')).toBeDefined(); @@ -42,7 +51,7 @@ describe('BidTrackerCardTopComponent', () => { it('calls deleteBid', () => { const wrapper = shallow( - , + , ); expect(wrapper).toBeDefined(); wrapper.instance().onDeleteBid(); @@ -51,7 +60,7 @@ describe('BidTrackerCardTopComponent', () => { it('matches snapshot', () => { const wrapper = shallow( - , + , ); expect(toJSON(wrapper)).toMatchSnapshot(); }); diff --git a/src/Components/BidTracker/BidTrackerCardTop/__snapshots__/BidTrackerCardTop.test.jsx.snap b/src/Components/BidTracker/BidTrackerCardTop/__snapshots__/BidTrackerCardTop.test.jsx.snap index bf9026bdb1..e2b1c30942 100644 --- a/src/Components/BidTracker/BidTrackerCardTop/__snapshots__/BidTrackerCardTop.test.jsx.snap +++ b/src/Components/BidTracker/BidTrackerCardTop/__snapshots__/BidTrackerCardTop.test.jsx.snap @@ -33,14 +33,6 @@ exports[`BidTrackerCardTopComponent matches snapshot 1`] = `
-
- - Why is it taking so long? -
diff --git a/src/Components/BidTracker/PriorityCards/IsOnStandby/__snapshots__/IsOnStandby.test.jsx.snap b/src/Components/BidTracker/PriorityCards/IsOnStandby/__snapshots__/IsOnStandby.test.jsx.snap index 5dfd0488b2..2b80845154 100644 --- a/src/Components/BidTracker/PriorityCards/IsOnStandby/__snapshots__/IsOnStandby.test.jsx.snap +++ b/src/Components/BidTracker/PriorityCards/IsOnStandby/__snapshots__/IsOnStandby.test.jsx.snap @@ -26,7 +26,7 @@ exports[`IsOnStandbyComponent matches snapshot 1`] = `
- ( {getDifferentialPercentage(propOrDefault(c.position, 'post.differential_rate'), NO_POST_DIFFERENTIAL)} - {propOrDefault(c.position, 'post.obc_id') ? | : null } + {propOrDefault(c.position, 'post.post_bidding_considerations_url') ? | : null } )) } @@ -281,7 +281,7 @@ class CompareList extends Component { compareArray.map(c => ( {getDifferentialPercentage(propOrDefault(c.position, 'post.danger_pay'), NO_DANGER_PAY)} - {propOrDefault(c.position, 'post.obc_id') ? | : null } + {propOrDefault(c.position, 'post.post_bidding_considerations_url') ? | : null } )) } diff --git a/src/Components/CompareList/__snapshots__/CompareList.test.jsx.snap b/src/Components/CompareList/__snapshots__/CompareList.test.jsx.snap index e012a3d4e3..7781c47494 100644 --- a/src/Components/CompareList/__snapshots__/CompareList.test.jsx.snap +++ b/src/Components/CompareList/__snapshots__/CompareList.test.jsx.snap @@ -897,16 +897,6 @@ exports[`CompareListComponent matches snapshot when there is an obc id 1`] = ` 30% - - | - - 20% @@ -929,16 +919,6 @@ exports[`CompareListComponent matches snapshot when there is an obc id 1`] = ` 0% - - | - - 15% diff --git a/src/Components/FavoritePositions/__snapshots__/FavoritePositions.test.jsx.snap b/src/Components/FavoritePositions/__snapshots__/FavoritePositions.test.jsx.snap index 608df1fc54..c8d1b8affe 100644 --- a/src/Components/FavoritePositions/__snapshots__/FavoritePositions.test.jsx.snap +++ b/src/Components/FavoritePositions/__snapshots__/FavoritePositions.test.jsx.snap @@ -54,6 +54,7 @@ exports[`FavoritePositionsComponent matches snapshot 1`] = ` id="sort" includeFirstEmptyOption={false} label="Sort by:" + labelSrOnly={false} onSelectOption={[Function]} options={ Array [ @@ -328,7 +329,7 @@ exports[`FavoritePositionsComponent matches snapshot 1`] = ` "id": 103, "state": "", }, - "obc_id": null, + "obc_id": 1, "rest_relaxation_point": "Paris", "tour_of_duty": "2 YRS (2 R & R)", }, @@ -511,7 +512,7 @@ exports[`FavoritePositionsComponent matches snapshot 1`] = ` "id": 103, "state": "", }, - "obc_id": null, + "obc_id": 1, "rest_relaxation_point": "Paris", "tour_of_duty": "2 YRS (2 R & R)", }, @@ -696,7 +697,7 @@ exports[`FavoritePositionsComponent matches snapshot 1`] = ` "id": 103, "state": "", }, - "obc_id": null, + "obc_id": 1, "rest_relaxation_point": "Paris", "tour_of_duty": "2 YRS (2 R & R)", }, @@ -875,7 +876,7 @@ exports[`FavoritePositionsComponent matches snapshot 1`] = ` "id": 103, "state": "", }, - "obc_id": null, + "obc_id": 1, "rest_relaxation_point": "Paris", "tour_of_duty": "2 YRS (2 R & R)", }, diff --git a/src/Components/Glossary/Glossary.jsx b/src/Components/Glossary/Glossary.jsx index e704f06eed..4511a8540f 100644 --- a/src/Components/Glossary/Glossary.jsx +++ b/src/Components/Glossary/Glossary.jsx @@ -8,15 +8,39 @@ import BoxShadow from '../BoxShadow'; import { GLOSSARY_ARRAY } from '../../Constants/PropTypes'; import { filterByProps } from '../../utilities'; +const ID = 'glossary-click-container'; + class GlossaryComponent extends Component { constructor(props) { super(props); this.changeText = this.changeText.bind(this); + this.handleOutsideClick = this.handleOutsideClick.bind(this); this.state = { searchText: { value: '' }, }; } + componentWillReceiveProps(nextProps) { + // The listener only needs to exist if the Glossary is visible. + if (nextProps.visible) { + /* This needs to be in a timeout, otherwise the glossary will immediately + close the first time it is opened, since the Glossary link is "outside" + of the Glossary div, and that click event will have been registered. */ + setTimeout(() => { + window.addEventListener('click', this.handleOutsideClick); + }, 0); + } else { // If the Glossary is not visible, remove the event listener. + window.removeEventListener('click', this.handleOutsideClick); + } + } + + handleOutsideClick(e) { + const { toggleVisibility, visible } = this.props; + if (visible && !document.getElementById(ID).contains(e.target)) { + toggleVisibility(); + } + } + changeText(text) { const { searchText } = this.state; searchText.value = text; @@ -35,7 +59,7 @@ class GlossaryComponent extends Component { const { searchText } = this.state; const filteredGlossary = this.filteredGlossary(); return ( -
+
diff --git a/src/Components/Glossary/__snapshots__/Glossary.test.jsx.snap b/src/Components/Glossary/__snapshots__/Glossary.test.jsx.snap index 68cca57fe9..96e9e8604e 100644 --- a/src/Components/Glossary/__snapshots__/Glossary.test.jsx.snap +++ b/src/Components/Glossary/__snapshots__/Glossary.test.jsx.snap @@ -3,6 +3,7 @@ exports[`GlossaryComponent matches snapshot 1`] = `
- +