MCPcopy Create free account
hub / github.com/codecombat/codecombat / constructor

Method constructor

app/views/courses/EnrollmentsView.js:58–116  ·  view source on GitHub ↗
(options)

Source from the content-addressed store, hash-verified

56 }
57
58 constructor (options) {
59 super(options)
60 this.state = new State({
61 totalEnrolled: 0,
62 totalNotEnrolled: 0,
63 classroomNotEnrolledMap: {},
64 classroomEnrolledMap: {},
65 numberOfStudents: 15,
66 totalCourses: 0,
67 prepaidGroups: {
68 available: [],
69 pending: []
70 },
71 shouldUpsell: false
72 })
73 if (window.tracker) {
74 window.tracker.trackEvent('Classes Licenses Loaded', { category: 'Teachers' })
75 }
76
77 this.utils = utils
78 this.courses = new Courses()
79 this.supermodel.trackRequest(this.courses.fetch({ data: { project: 'free,i18n,name' } }))
80 this.listenTo(this.courses, 'sync', function () {
81 return this.state.set({ starterLicenseCourseList: this.getStarterLicenseCourseList() })
82 })
83 // Listen for language change
84 this.listenTo(me, 'change:preferredLanguage', function () {
85 return this.state.set({ starterLicenseCourseList: this.getStarterLicenseCourseList() })
86 })
87 this.members = new Users()
88 this.classrooms = new Classrooms()
89 this.classrooms.comparator = '_id'
90 this.listenToOnce(this.classrooms, 'sync', this.onceClassroomsSync)
91 this.supermodel.trackRequest(this.classrooms.fetchMine())
92 this.prepaids = new Prepaids()
93 this.supermodel.trackRequest(this.prepaids.fetchMineAndShared())
94 this.listenTo(this.prepaids, 'sync', this.onPrepaidsSync)
95 this.debouncedRender = _.debounce(this.render, 0)
96 this.listenTo(this.prepaids, 'sync', this.updatePrepaidGroups)
97 this.listenTo(this.state, 'all', this.debouncedRender)
98
99 if (me.isSchoolAdmin()) {
100 let left
101 this.newAdministeredClassrooms = new Classrooms()
102 this.allAdministeredClassrooms = []
103 this.listenTo(this.newAdministeredClassrooms, 'sync', this.newAdministeredClassroomsSync)
104 const teachers = (left = me.get('administratedTeachers')) != null ? left : []
105 this.totalAdministeredTeachers = teachers.length
106 teachers.forEach(teacher => {
107 return this.supermodel.trackRequest(this.newAdministeredClassrooms.fetchByOwner(teacher))
108 })
109 }
110
111 __guard__(me.getClientCreatorPermissions(), x => x.then(() => (typeof this.render === 'function' ? this.render() : undefined)))
112
113 const leadPriorityRequest = me.getLeadPriority()
114 this.supermodel.trackRequest(leadPriorityRequest)
115 leadPriorityRequest.then(r => this.onLeadPriorityResponse(r))

Callers

nothing calls this directly

Calls 14

fetchMineMethod · 0.80
fetchMineAndSharedMethod · 0.80
isSchoolAdminMethod · 0.80
getLeadPriorityMethod · 0.80
__guard__Function · 0.70
trackEventMethod · 0.45
fetchMethod · 0.45
setMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected