Skip to content

Commit fee5dba

Browse files
authored
Merge pull request #8178 from michaelchadwick/remove-new-course-render-modifier
Remove Course->New render modifier
2 parents 384c925 + b6cc5c6 commit fee5dba

File tree

3 files changed

+42
-33
lines changed

3 files changed

+42
-33
lines changed

packages/frontend/.lint-todo

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ add|ember-template-lint|no-at-ember-render-modifiers|4|2|4|2|23cd787c79c34a628da
77
add|ember-template-lint|no-at-ember-render-modifiers|5|2|5|2|e5120f87b74c5ae8e4c76b9089e0b4a4504c6e3c|1722902400000|1730682000000|1754006400000|app/components/user-profile-roles.hbs
88
add|ember-template-lint|no-at-ember-render-modifiers|4|2|4|2|1fb0566922ce4f066916e5e2931f650f69d7cfba|1722902400000|1730682000000|1754006400000|app/components/visualizer-program-year-objectives.hbs
99
add|ember-template-lint|no-at-ember-render-modifiers|5|2|5|2|38e65b45b56fdfd4160d3b0884114b6643e3a036|1722902400000|1730682000000|1754006400000|app/components/visualizer-program-year-objectives.hbs
10-
add|ember-template-lint|no-at-ember-render-modifiers|4|4|4|4|23cd787c79c34a628dadb6e96dd4004d42eebb79|1722902400000|1730682000000|1754006400000|app/components/courses/new.hbs
1110
add|ember-template-lint|no-at-ember-render-modifiers|5|2|5|2|23cd787c79c34a628dadb6e96dd4004d42eebb79|1722902400000|1730682000000|1754006400000|app/components/curriculum-inventory/new-report.hbs
1211
add|ember-template-lint|no-at-ember-render-modifiers|4|2|4|2|23cd787c79c34a628dadb6e96dd4004d42eebb79|1722902400000|1730682000000|1754006400000|app/components/curriculum-inventory/new-sequence-block.hbs
1312
add|ember-template-lint|no-at-ember-render-modifiers|5|2|5|2|77e3831e4ae1b00caee1f808711f2e26ab452a23|1722902400000|1730682000000|1754006400000|app/components/curriculum-inventory/new-sequence-block.hbs

packages/frontend/app/components/courses/new.hbs

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{{#let (unique-id) as |templateId|}}
2-
<div class="courses-new" {{did-insert (perform this.load)}} data-test-courses-new>
2+
<div class="courses-new" data-test-courses-new>
33
{{#unless this.load.isRunning}}
44
<h4>
55
{{t "general.newCourse"}}
@@ -28,26 +28,28 @@
2828
<label for="year-{{templateId}}">
2929
{{t "general.academicYear"}}:
3030
</label>
31-
<select
32-
id="year-{{templateId}}"
33-
data-test-year
34-
{{on "change" (pick "target.value" this.setYear)}}
35-
>
36-
<option disabled="" selected={{is-empty this.selectedYear}} value="">
37-
{{t "general.selectAcademicYear"}}
38-
</option>
39-
{{#each this.years as |year|}}
40-
<option selected={{eq year this.selectedYear}} value={{year}}>
41-
{{#if this.academicYearCrossesCalendarYearBoundaries}}
42-
{{year}}
43-
-
44-
{{add year 1}}
45-
{{else}}
46-
{{year}}
47-
{{/if}}
31+
{{#if this.academicYearCrossesCalendarYearBoundariesData.isResolved}}
32+
<select
33+
id="year-{{templateId}}"
34+
data-test-year
35+
{{on "change" (pick "target.value" this.setYear)}}
36+
>
37+
<option disabled="" selected={{is-empty this.selectedYear}} value="">
38+
{{t "general.selectAcademicYear"}}
4839
</option>
49-
{{/each}}
50-
</select>
40+
{{#each this.years as |year|}}
41+
<option selected={{eq year this.selectedYear}} value={{year}}>
42+
{{#if this.academicYearCrossesCalendarYearBoundaries}}
43+
{{year}}
44+
-
45+
{{add year 1}}
46+
{{else}}
47+
{{year}}
48+
{{/if}}
49+
</option>
50+
{{/each}}
51+
</select>
52+
{{/if}}
5153
</div>
5254
<div class="buttons">
5355
<button

packages/frontend/app/components/courses/new.js

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import Component from '@glimmer/component';
2-
import { tracked } from '@glimmer/tracking';
2+
import { cached, tracked } from '@glimmer/tracking';
33
import { action } from '@ember/object';
44
import { service } from '@ember/service';
55
import { DateTime } from 'luxon';
66
import { validatable, Length, NotBlank } from 'ilios-common/decorators/validation';
7-
import { dropTask, restartableTask } from 'ember-concurrency';
7+
import { dropTask } from 'ember-concurrency';
8+
import { TrackedAsyncData } from 'ember-async-data';
89

910
@validatable
1011
export default class CoursesNewComponent extends Component {
@@ -14,13 +15,29 @@ export default class CoursesNewComponent extends Component {
1415

1516
@tracked @NotBlank() selectedYear;
1617
@tracked @NotBlank() @Length(3, 200) title;
17-
@tracked academicYearCrossesCalendarYearBoundaries;
1818
@tracked years;
1919

2020
constructor() {
2121
super(...arguments);
2222
const thisYear = DateTime.now().year;
2323
this.years = [thisYear - 2, thisYear - 1, thisYear, thisYear + 1, thisYear + 2];
24+
25+
if (this.args.currentYear && this.years.includes(parseInt(this.args.currentYear.id, 10))) {
26+
this.setYear(this.args.currentYear.id);
27+
}
28+
}
29+
30+
@cached
31+
get academicYearCrossesCalendarYearBoundariesData() {
32+
return new TrackedAsyncData(
33+
this.iliosConfig.itemFromConfig('academicYearCrossesCalendarYearBoundaries'),
34+
);
35+
}
36+
37+
get academicYearCrossesCalendarYearBoundaries() {
38+
return this.academicYearCrossesCalendarYearBoundariesData.isResolved
39+
? this.academicYearCrossesCalendarYearBoundariesData.value
40+
: false;
2441
}
2542

2643
@action
@@ -45,15 +62,6 @@ export default class CoursesNewComponent extends Component {
4562
}
4663
}
4764

48-
load = restartableTask(async () => {
49-
this.academicYearCrossesCalendarYearBoundaries = await this.iliosConfig.itemFromConfig(
50-
'academicYearCrossesCalendarYearBoundaries',
51-
);
52-
if (this.args.currentYear && this.years.includes(parseInt(this.args.currentYear.id, 10))) {
53-
this.setYear(this.args.currentYear.id);
54-
}
55-
});
56-
5765
saveCourse = dropTask(async () => {
5866
this.addErrorDisplayFor('title');
5967
const isValid = await this.isValid();

0 commit comments

Comments
 (0)