Skip to content
Permalink
Browse files

Merge pull request #1821 from RTICWDT/dev

Merge from dev to staging
  • Loading branch information
alexsmithRTI committed Dec 2, 2020
2 parents 23854b0 + ccd3119 commit d154984ec01e7101881f44ce6427fecd01404d6a
Showing with 9,999 additions and 1,415 deletions.
  1. +4 −0 .cfignore
  2. +3 −2 .circleci/config.yml
  3. +6 −0 .env.example
  4. +2 −0 .gitignore
  5. +5 −0 .idea/.gitignore
  6. +45 −0 .idea/codeStyles/Project.xml
  7. +5 −0 .idea/codeStyles/codeStyleConfig.xml
  8. +6 −0 .idea/inspectionProfiles/Project_Default.xml
  9. +16 −0 .idea/jsLinters/jshint.xml
  10. +12 −0 .idea/misc.xml
  11. +8 −0 .idea/modules.xml
  12. +19 −0 .idea/shadow-scorecard.iml
  13. +6 −0 .idea/vcs.xml
  14. +7 −1 404.html
  15. +14 −0 Dockerfile
  16. +24 −0 README.md
  17. +1 −0 Staticfile
  18. +2 −0 Staticfile.auth
  19. +2 −1 __tests__/e2e/PageIndex_test.js
  20. +4 −4 __tests__/e2e/PageSchoolFields_test.js
  21. +6 −6 __tests__/e2e/PageSchool_test.js
  22. +6 −5 __tests__/e2e/PageSearch_test.js
  23. +8 −1 __tests__/utility/url.js
  24. +7 −1 _config.yml
  25. +1,722 −0 _data/cip_6_digit_2010.json
  26. +1 −0 _data/cip_6_test.json
  27. +88 −19 _data/glossary.json
  28. +1 −1 _data/states.json
  29. +7 −3 _includes/head.html
  30. +6 −2 _layouts/default.html
  31. +5 −2 _plugins/build.rb
  32. BIN assets/CollegeScorecardDataDictionary.xlsx
  33. BIN assets/FieldOfStudyDataDocumentation.pdf
  34. BIN assets/FullDataDocumentation.pdf
  35. +2 −1 compare/index.html
  36. +0 −12 config.ru
  37. +5 −1 data/changelog.html
  38. +4 −0 data/documentation.html
  39. +6 −1 data/glossary.html
  40. +5 −1 data/index.html
  41. +18 −0 docker-compose.yml
  42. +6 −0 img/icon-financial-aid.svg
  43. +7 −0 img/icon-pathways.svg
  44. +1 −1 img/school-icons/certificate.svg
  45. +1 −1 img/school-icons/city.svg
  46. +1 −1 img/school-icons/four.svg
  47. +1 −1 img/school-icons/large.svg
  48. +1 −1 img/school-icons/medium.svg
  49. +1 −1 img/school-icons/private.svg
  50. +1 −1 img/school-icons/profit.svg
  51. +1 −1 img/school-icons/public.svg
  52. +1 −1 img/school-icons/rural.svg
  53. +1 −1 img/school-icons/small.svg
  54. +3 −3 img/school-icons/suburban.svg
  55. +1 −1 img/school-icons/town.svg
  56. +1 −1 img/school-icons/two.svg
  57. +9 −1 index.html
  58. +46 −3 js/src/app.js
  59. +9 −9 js/src/components/vue/CannedSearchContainer.vue
  60. +11 −1 js/src/components/vue/CannedSearchSlider.vue
  61. +1 −1 js/src/components/vue/CheckRange.vue
  62. +360 −25 js/src/components/vue/CompareDrawer.vue
  63. +86 −29 js/src/components/vue/CompareHeader.vue
  64. +151 −0 js/src/components/vue/ContextToggle.vue
  65. +12 −5 js/src/components/vue/FieldData.vue
  66. +224 −0 js/src/components/vue/FieldDataExtended.vue
  67. +110 −0 js/src/components/vue/FieldOfStudyDetailChip.vue
  68. +280 −0 js/src/components/vue/FieldOfStudyResultCard.vue
  69. +137 −0 js/src/components/vue/FieldOfStudySearch.vue
  70. +314 −0 js/src/components/vue/FieldOfStudySelect.vue
  71. +22 −9 js/src/components/vue/HorizontalBar.vue
  72. +79 −5 js/src/components/vue/MultiRange.vue
  73. +87 −15 js/src/components/vue/Range.vue
  74. +4 −0 js/src/components/vue/SchoolIcons.vue
  75. +29 −11 js/src/components/vue/ScorecardFooter.vue
  76. +318 −10 js/src/components/vue/ScorecardHeader.vue
  77. +631 −0 js/src/components/vue/SearchFieldsOfStudyForm.vue
  78. +114 −85 js/src/components/vue/SearchForm.vue
  79. +30 −18 js/src/components/vue/SearchResultCard.vue
  80. +2 −2 js/src/components/vue/Share.vue
  81. +1 −1 js/src/components/vue/SmallSchoolIcons.vue
  82. +19 −6 js/src/components/vue/Tooltip.vue
  83. +59 −7 js/src/components/vue/compare/Block.vue
  84. +50 −3 js/src/components/vue/compare/Row.vue
  85. +14 −1 js/src/components/vue/compare/Section.vue
  86. +34 −0 js/src/vue/commonFormats.js
  87. +41 −1 js/src/vue/constants.js
  88. +45 −0 js/src/vue/filters.js
  89. +43 −16 js/src/vue/localStoage.js
  90. +20 −18 js/src/vue/mixins.js
  91. +263 −33 js/src/vue/mixins/ComplexFields.js
  92. +15 −4 js/src/vue/mixins/LocationCheck.js
  93. +29 −4 js/src/vue/mixins/PrepareParams.js
  94. +33 −0 js/src/vue/mixins/Router.js
  95. +25 −1 js/src/vue/mixins/SiteData.js
  96. +37 −3 js/src/vue/pages/404.vue
  97. +1,275 −230 js/src/vue/pages/compare.vue
  98. +59 −51 js/src/vue/pages/data.vue
  99. +69 −4 js/src/vue/pages/data_changelog.vue
  100. +36 −4 js/src/vue/pages/data_documentation.vue
  101. +37 −3 js/src/vue/pages/data_glossary.vue
  102. +413 −95 js/src/vue/pages/index.vue
  103. +1,488 −385 js/src/vue/pages/school.vue
  104. +131 −26 js/src/vue/pages/school_fields.vue
  105. +38 −6 js/src/vue/pages/school_transition.vue
  106. +371 −104 js/src/vue/pages/search.vue
  107. +7 −0 manifest.yml
  108. +2 −2 package-lock.json
  109. +23 −9 package.json
  110. +18 −1 sass/_variables.scss
  111. +53 −1 sass/_vuetify-overrides.scss
  112. +32 −0 sass/style.scss
  113. +2 −1 school/fields.html
  114. +2 −1 school/index.html
  115. +8 −1 school/transition.html
  116. +2 −1 search/index.html
  117. +11 −78 sitemap.xml
  118. +10 −3 test/url.js
  119. +2 −3 webpack.prod.vue.config.js
@@ -0,0 +1,4 @@
node_modules
output
__tests__
test
@@ -8,7 +8,7 @@ buildtest: &buildtest
- run:
name: Install Headless Chrome dependencies
command: |
sudo apt-get install -yq \
sudo apt-get update && sudo apt-get install -yq \
gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \
libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \
libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 \
@@ -40,7 +40,7 @@ buildtest: &buildtest

- run:
name: Wait for Federalist Build
command: ./test/ci.sh
command: ./__tests__/utility/ci.sh

- run:
name: Wait Buffer for browser testing
@@ -66,6 +66,7 @@ jobs:
environment:
TEST_REPORTS_CI: test/reports


workflows:
version: 2
build:
@@ -0,0 +1,6 @@
API_BASE_URL=
API_KEY=
API_SIGNUP_KEY=
BASEURL=http://localhost:4000
RECAPTCHA_SITE_KEY=
API_KEY_GOOGLE_MAPS=
@@ -9,10 +9,12 @@ index.html.*
build.log
js/picc.js*
js/app.js*
js/app.*.js
.DS_Store
css/fonts/material*
css/fonts/fa*
css/app.css
css/app.*.css
output/*.png
.jekyll-cache
__tests__/reports/*
@@ -0,0 +1,5 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
@@ -0,0 +1,45 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<JSCodeStyleSettings version="0">
<option name="FORCE_SEMICOLON_STYLE" value="true" />
<option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
<option name="USE_DOUBLE_QUOTES" value="false" />
<option name="FORCE_QUOTE_STYlE" value="true" />
<option name="ENFORCE_TRAILING_COMMA" value="Remove" />
<option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
<option name="SPACES_WITHIN_IMPORTS" value="true" />
</JSCodeStyleSettings>
<TypeScriptCodeStyleSettings version="0">
<option name="FORCE_SEMICOLON_STYLE" value="true" />
<option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
<option name="USE_DOUBLE_QUOTES" value="false" />
<option name="FORCE_QUOTE_STYlE" value="true" />
<option name="ENFORCE_TRAILING_COMMA" value="Remove" />
<option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
<option name="SPACES_WITHIN_IMPORTS" value="true" />
</TypeScriptCodeStyleSettings>
<codeStyleSettings language="HTML">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="JavaScript">
<option name="SOFT_MARGINS" value="0" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="TypeScript">
<option name="SOFT_MARGINS" value="0" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
</code_scheme>
</component>
@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>
@@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="JSHint" enabled="true" level="ERROR" enabled_by_default="true" />
</profile>
</component>
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JSHintConfiguration" version="2.10.2" use-config-file="true" use-custom-config-file="true" custom-config-file-path="$PROJECT_DIR$/.jshintrc">
<option bitwise="true" />
<option browser="true" />
<option curly="true" />
<option eqeqeq="true" />
<option forin="true" />
<option maxerr="50" />
<option noarg="true" />
<option noempty="true" />
<option nonew="true" />
<option strict="true" />
<option undef="true" />
</component>
</project>
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
<component name="ProjectPlainTextFileTypeManager">
<file url="file://$PROJECT_DIR$/js/app.js" />
<file url="file://$PROJECT_DIR$/js/app.js" />
<file url="file://$PROJECT_DIR$/js/picc-analytics.js" />
<file url="file://$PROJECT_DIR$/js/picc.js" />
</component>
</project>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/shadow-scorecard.iml" filepath="$PROJECT_DIR$/.idea/shadow-scorecard.iml" />
</modules>
</component>
</project>
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
<excludeFolder url="file://$MODULE_DIR$/_site" />
<excludeFolder url="file://$MODULE_DIR$/assets" />
<excludeFolder url="file://$MODULE_DIR$/css/fonts" />
<excludeFolder url="file://$MODULE_DIR$/css/vendor" />
<excludeFolder url="file://$MODULE_DIR$/js/vendor" />
<excludeFolder url="file://$MODULE_DIR$/output" />
<excludeFolder url="file://$MODULE_DIR$/temp" />
<excludeFolder url="file://$MODULE_DIR$/test" />
<excludeFolder url="file://$MODULE_DIR$/tmp" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
@@ -3,5 +3,11 @@
---
<div id="app">
<!-- Pass other variables as props-->
<four-oh-four page-permalink="{{ page.permalink }}" base-url="{{site.baseurl}}" />
<four-oh-four page-permalink="{{ page.permalink }}"
base-url="{{site.baseurl}}"
:compare-schools="compareSchools"
:compare-fields-of-study="compareFieldsOfStudy"
@compare-update-selection="refreshCompareSchools"
@toggle-compare-school="toggleCompareItem"
/>
</div>
@@ -0,0 +1,14 @@
FROM ruby:2.6.5-alpine

RUN apk add --update g++ gcc make musl-dev git

RUN mkdir /myapp
WORKDIR /myapp
COPY Gemfile /myapp/Gemfile
COPY Gemfile.lock /myapp/Gemfile.lock
RUN bundle install

COPY . /myapp
EXPOSE 4000

CMD ["jekyll", "serve", "--host", "0.0.0.0", "--baseurl", "''", "-w", "--trace"]
@@ -15,6 +15,30 @@ This repo contains the front end of a web app with its API created by an instanc


## Installation
Create a local development environment using Docker containers or with a traditional
unix system.

### Docker Container
- Copy `.env.example` to `.env`
- Add values to `.env`
- In App Root: Start Docker Containers
- `docker-compose up`
- You can start it with `docker-compose up -d` to detach the process from the current shell if desired.
- Wait for output:
```
web_1 | Server address: http://0.0.0.0:4000/
web_1 | Server running... press ctrl-c to stop.
```
- Start a new cli tab/window (if not running detached)
- **Only on first run:** Install Dependencies in `node` container
- `docker-compose exec node npm install`
- Wait
- Launch webpack with watch on the `node` container:
- `docker-compose exec node npm run watch`
- Wait for: `Entrypoint main = app.js app.js.map`
- Site will be available at: `http://localhost:4000/`

### Traditional Unix Development Environment
This site is made with [Jekyll]. Once you've got [Ruby] on your computer, you
can run:

@@ -0,0 +1 @@
root: _site
@@ -0,0 +1,2 @@
test_user:{SHA}L6IYUcwmuX2V7Uy06Zk5TLFuyLE=
csadmin:{SHA}C3IvisTtMSGcV7+Mya6gzMJ64Do=
@@ -111,7 +111,8 @@ Scenario('Test Show Me Options: Simple Elements', (I) => {
Scenario('Test Custom Search', (I) => {
I.amOnPage(BASE_URL);

I.click(locate('.v-tab').withText("Custom Search"));
I.click(locate('.v-tab').withText("Search Schools"));
I.click(locate('button').withText('Custom Search'));

I.seeElement(locate(".v-window-item p").withText("Location"));
I.click('#search-from-location-select');
@@ -69,8 +69,8 @@ Scenario('Visit page and test compare functionality', (I) => {

I.click(locate('.school-heading button').withText('Compare'));
I.wait(1);
I.seeElement('#compare-header');
I.click('#compare-header');
I.seeElement('#compare_schools-content');
I.seeElement(locate('#compare_schools-content label').withText('Yale University'));
//I.seeElement('#compare-header');
//I.click('#compare-header');
I.seeElement('#compare-schools-content');
I.seeElement(locate('#compare-schools-content label').withText('Yale University'));
});
@@ -38,13 +38,13 @@ Scenario('Visit page and see all major page components.', (I) => {
I.seeElement(locate('.school-key_figures li.icon-medium').withText('Medium'));

//Hero Stats
I.seeElement('#school-completion-rate-donut canvas#doughnut-chart');
I.seeElement('#school-completion-rate-bar canvas#horizontalbar-chart');
I.seeElement('#school-salary-after-complete .range-container .range-chart');
I.seeElement(locate('#school-avg-cost h2').at(2));

// Check number of expansion panels.
I.seeNumberOfVisibleElements(".v-expansion-panel",7);
I.click(locate('.v-expansion-panel').at('1'));
I.click(locate('.v-expansion-panel').at('2'));
I.seeElement('#costs-content');

// Sidebar conent
@@ -58,8 +58,8 @@ Scenario('Visit page and test compare functionality', (I) => {

I.click(locate('#school-sub-nav-header button').withText('Compare'));
I.wait(1);
I.seeElement('#compare-header');
I.click('#compare-header');
I.seeElement('#compare_schools-content');
I.seeElement(locate('#compare_schools-content label').withText('Yale University'));
//I.seeElement('#compare-header');
//I.click('#compare-header');
I.seeElement('#compare-schools-content');
I.seeElement(locate('#compare-schools-content label').withText('Yale University'));
});
@@ -108,16 +108,17 @@ Scenario('Add schools to compare, Items appear in compare drawer, Remove from co
// Add items to compare search
I.click(locate(".search-result-card button").at(1));
// I.click(locate(".search-result-card button").at(2));


I.waitForElement("#compare-schools-content",2);

// Wait for compare element to show in DOM.
I.waitForElement('#compare-header',2);
// I.waitForElement('#compare-header',2);

// Show Modal
I.click('#compare-header');
I.waitForElement("#compare_schools-content",2);
// I.click('#compare-header');

// // Check total number of compare schools.
// I.seeNumberOfElements(locate('#compare_schools-content input'),2);
I.seeNumberOfElements(locate('#compare-schools-content .v-input--checkbox'), 1);

// // Remove from compare
// I.click(locate('#compare_schools-content input').first());
@@ -10,7 +10,14 @@ if (branch === 'master') {
url = 'https://collegescorecard.ed.gov';
} else if (branch && user && repo) {
var path = [user, repo, branch].join('/');
url = 'https://federalist-c15eda78-ad4f-46bc-ac6b-eb043d9f3780.app.cloud.gov/preview/' + path.toLowerCase();
if(repo=='private-scorecard')
{
url = 'https://federalist-a267b602-ea49-4771-8115-ea94f984a5ca.app.cloud.gov/preview/' + path.toLowerCase();
}
else
{
url = 'https://federalist-c15eda78-ad4f-46bc-ac6b-eb043d9f3780.app.cloud.gov/preview/' + path.toLowerCase();
}
}

if (module.parent) {
@@ -13,7 +13,7 @@ baseurl:
url: https://collegescorecard.ed.gov

# app version number
version: v2.3.3
version: v2.4.0

# Build settings
markdown: kramdown
@@ -91,3 +91,9 @@ exclude:
- webpack.vue.config.js
- steps.d.ts
- steps_file.js
- package-lock.json
- manifest.yml
- localstorage_helper.js
- jsconfig.json
- Dockerfile
- docker-compose.yml

0 comments on commit d154984

Please sign in to comment.
You can’t perform that action at this time.