@byu-oit/vue-decision-processing-components 8.25.2 → 8.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -61,6 +61,7 @@ export default {
61
61
  accept: 'application/json',
62
62
  'content-type': 'application/json'
63
63
  }
64
+ // This config is hosted in the domain-common-admit-periods repository
64
65
  const url = `https://admit-period-vocab-cdn.ces-admissionssupport-prd.amazon.byu.edu/${this.school}-admit-periods.json`
65
66
  const options = { headers, url }
66
67
  const r = await window.byu.auth.request(options)
package/CHANGELOG.md CHANGED
@@ -2,6 +2,27 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [8.26.0](https://github.com/byu-oit/vue-decision-processing-components/compare/v8.25.4...v8.26.0) (2022-06-03)
6
+
7
+
8
+ ### Features
9
+
10
+ * collapsing DetailsHeader - when scrolling and not mouseover - header collapses to a smaller size. ([05ef93a](https://github.com/byu-oit/vue-decision-processing-components/commit/05ef93aaaee0c05c0a6a1651b72d35f0a7cd2773))
11
+
12
+ ### [8.25.4](https://github.com/byu-oit/vue-decision-processing-components/compare/v8.25.3...v8.25.4) (2022-06-01)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * adjust active admit periods ([31793d0](https://github.com/byu-oit/vue-decision-processing-components/commit/31793d09f1e67a6656a68cd1c9cf7cb83741b7c8))
18
+
19
+ ### [8.25.3](https://github.com/byu-oit/vue-decision-processing-components/compare/v8.25.2...v8.25.3) (2022-05-09)
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * add date processed to the test scores table ([43bee99](https://github.com/byu-oit/vue-decision-processing-components/commit/43bee99552378bb21d841d951f8beec1b8ba0ca4))
25
+
5
26
  ### [8.25.2](https://github.com/byu-oit/vue-decision-processing-components/compare/v8.25.1...v8.25.2) (2022-03-25)
6
27
 
7
28
 
package/DetailsHeader.vue CHANGED
@@ -14,24 +14,48 @@
14
14
  limitations under the License.
15
15
  -->
16
16
  <template>
17
- <div class="applicant-details">
18
- <div class="star" v-if="!hideStar && appId" :title="userFlag.isActive ? 'Remove from Tracking List' : 'Add to Tracking List'">
19
- <starred-indicator :set="userFlag.isActive" @click="toggleApplicationStar" />
20
- </div>
17
+ <div ref="container" class="header-container bg-secondary text-white" @mouseenter="mouseenter" @mouseleave="mouseleave">
21
18
 
22
- <div class="name">
23
- <slot name="applicantName">
24
- <h2>{{application.applicantName}}</h2>
25
- </slot>
19
+ <transition name="scale">
20
+ <div v-if="compact" class="applicant-details compact" key="compact">
21
+ <div class="star" v-if="!hideStar && appId" :title="userFlag.isActive ? 'Remove from Tracking List' : 'Add to Tracking List'">
22
+ <starred-indicator :set="userFlag.isActive" @click="toggleApplicationStar" />
23
+ </div>
24
+ <div class="name">
25
+ <slot name="applicantNameCompact"></slot>
26
+ </div>
27
+ <div class="applicant">
28
+ <slot name="applicantInfoCompact"></slot>
29
+ </div>
30
+ <div class="additional">
31
+ <slot name="additionalInfoCompact"></slot>
32
+ </div>
33
+ <div class="actions bg-light">
34
+ <slot name="actionsCompact"></slot>
35
+ </div>
26
36
  </div>
27
- <div class="applicant">
28
- <slot name="applicantInfo">
37
+ <div v-else class="applicant-details" key="expanded">
38
+ <div class="star" v-if="!hideStar && appId" :title="userFlag.isActive ? 'Remove from Tracking List' : 'Add to Tracking List'">
39
+ <starred-indicator :set="userFlag.isActive" @click="toggleApplicationStar" />
40
+ </div>
41
+ <div class="name">
42
+ <slot name="applicantName">
43
+ <h2>{{application.applicantName}}</h2>
44
+ </slot>
45
+ </div>
46
+ <div class="applicant">
47
+ <slot name="applicantInfo">
29
48
  <ApplicantInfo/>
30
- </slot>
31
- </div>
32
- <div class="additional">
33
- <slot name="additionalInfo"></slot>
49
+ </slot>
50
+ </div>
51
+ <div class="additional">
52
+ <slot name="additionalInfo"></slot>
53
+ </div>
54
+ <div class="actions bg-light text-body">
55
+ <slot name="actions"></slot>
56
+ </div>
34
57
  </div>
58
+ </transition>
35
59
  </div>
36
60
  </template>
37
61
  <script>
@@ -56,6 +80,12 @@ export default {
56
80
  type: String
57
81
  }
58
82
  },
83
+ data () {
84
+ return {
85
+ compact: false,
86
+ hovering: false
87
+ }
88
+ },
59
89
  computed: {
60
90
  ...mapState({
61
91
  userInfo: 'userInfo',
@@ -81,20 +111,56 @@ export default {
81
111
  flagValue: 'S-' + this.userInfo.byuId,
82
112
  flagState: userFlagSet ? 'clear' : 'set'
83
113
  })
114
+ },
115
+ handleScroll (event) {
116
+ if (!this.hovering) {
117
+ const containerElem = this.$refs.container
118
+ const containerTopY = containerElem.getBoundingClientRect().top
119
+ // Prevent flickering when just over the scroll threshold
120
+ if (this.compact) {
121
+ this.compact = containerTopY < 50
122
+ } else {
123
+ this.compact = containerTopY <= 0
124
+ }
125
+ }
126
+ },
127
+ mouseenter () {
128
+ this.compact = false
129
+ this.hovering = true
130
+ },
131
+ mouseleave (event) {
132
+ this.hovering = false
133
+ this.handleScroll(event)
84
134
  }
85
135
  },
86
- filters: { yearTermFormat }
136
+ filters: { yearTermFormat },
137
+ mounted () {
138
+ window.addEventListener("scroll", this.handleScroll)
139
+ },
140
+ beforeUnmount () {
141
+ window.removeEventListener("scroll", this.handleScroll)
142
+ }
87
143
  }
88
144
  </script>
89
145
  <style scoped>
146
+ .header-container {
147
+ display: grid;
148
+ grid-template-columns: 1fr;
149
+ }
150
+
151
+ .header-container > * {
152
+ grid-column: 1/2;
153
+ grid-row: 1/2;
154
+ }
155
+
90
156
  .applicant-details {
91
157
  display: grid;
92
- grid-template-columns: 3rem 2fr 1fr;
158
+ grid-template-columns: 3rem minmax(40vw, 2fr) minmax(20vw, 1fr) minmax(auto, 30vw);
93
159
  grid-template-rows: repeat(2, auto);
94
160
  grid-column-gap: 0.5rem;
95
161
  grid-template-areas:
96
- "star name additional"
97
- "star applicant additional";
162
+ "star name additional actions"
163
+ "star applicant additional actions";
98
164
  }
99
165
 
100
166
  .star {
@@ -117,4 +183,24 @@ export default {
117
183
  padding: 0.5rem;
118
184
  }
119
185
 
186
+ .actions {
187
+ grid-area: actions;
188
+ padding: 0.5rem;
189
+ }
190
+
191
+ .scale-enter-active,
192
+ .scale-leave-active {
193
+ transition: all 0.25s ease-out;
194
+ }
195
+
196
+ .scale-enter {
197
+ opacity: 0;
198
+ transform: scaleY(0.5) translateY(0.5rem);
199
+ }
200
+
201
+ .scale-leave-to {
202
+ opacity: 0;
203
+ transform: scaleY(0.5) translateY(-0.5rem);
204
+ }
205
+
120
206
  </style>
@@ -18,7 +18,8 @@
18
18
  <thead>
19
19
  <tr>
20
20
  <th>Test Name</th>
21
- <th>Date</th>
21
+ <th>Test Date</th>
22
+ <th>Date Processed</th>
22
23
  <th class="composite">Composite Score</th>
23
24
  <th>Scores</th>
24
25
  </tr>
@@ -37,6 +38,7 @@
37
38
  </template>
38
39
  </td>
39
40
  <td>{{ts.testDate | dateFormat}}</td>
41
+ <td>{{ts.dateProcessed | dateFormat}}</td>
40
42
  <td v-if="/^SAT/.test(ts.testName)" class="composite">
41
43
  <span class="badge badge-primary x-lg">{{ts.compositeScore}}</span>
42
44
  <br>
@@ -50,9 +50,11 @@ export default {
50
50
  type: Array,
51
51
  default() {
52
52
  return [
53
- '20221',
54
53
  '20223',
55
54
  '20225',
55
+ '20231',
56
+ '20233',
57
+ '20235',
56
58
  ]
57
59
  }
58
60
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@byu-oit/vue-decision-processing-components",
3
- "version": "8.25.2",
3
+ "version": "8.26.0",
4
4
  "description": "Vue components shared between decision processing systems for the CES schools.",
5
5
  "dependencies": {
6
6
  "@fortawesome/fontawesome-free": "^5.15.4",
@@ -214,6 +214,7 @@ export const parseTestScores = a => {
214
214
  const testScores = get(a, 'values', []).map(t => {
215
215
  return {
216
216
  testDate: get(t, 'test_date.value'),
217
+ dateProcessed: get(t, 'date_time_reported.value'),
217
218
  testName: get(t, 'test_name.value'),
218
219
  testComponents: get(t, 'test_components').map(parseTestComponents),
219
220
  compositeScore: get(t, 'composite_score.value'),
@@ -2,6 +2,7 @@
2
2
  * shape of test scores:
3
3
  * {
4
4
  * testDate: '',
5
+ * dateProcessed: '',
5
6
  * testName: '',
6
7
  * testComponents: '',
7
8
  * compositeScore: '',