Hey I completed a working model of drop downs that depend on each other for their drop down list. I would like to convert them to use computed.alias instead of observers. I'm a bit confused on how to go about doing that type of relation.
classPeriods: []
classPeriod: null
detailedClassInfo: null
students: []
teacher: null
teachers: []
classSubject: null
classSubjects: [
{ label: I18n.t('assignments.new.class_subjects.math'), value: 'math' },
{ label: I18n.t('assignments.new.class_subjects.english'), value: 'english' },
{ label: I18n.t('assignments.new.class_subjects.gym'), value: 'gym' },
{ label: I18n.t('assignments.new.class_subjects.music'), value: 'music' }
]
subjectChanged: ( ->
return unless @get('classSubject')
@set('teacher', null)
@resetClassValues()
classSubject = @get('classSubject')
staff = @store.find('teachers', subject: classSubject )
@set('teachers', staff)
).observes 'classSubject'
teacherChanged: ( ->
return unless @get('teacher')
@resetClassValues()
@get('teacher.details').then (detailedClassInfo) =>
@set('detailedClassInfo', detailedClassInfo)
@set('classPeriods', detailedClassInfo.get('classPeriods'))
).observes 'teacher'
classPeriodChanged: ( ->
return unless @get('classPeriod')
@set('students', @get('classPeriod.students').map (student) ->
App.AssignmentsNewPeriodDetails.create
student: student
)
@store.find('assignments')
).observes 'classPeriod'
resetClassValues: ->
@set('detailedClassInfo', null)
@set('classPeriod', null)
@set('classPeriods', Ember.A())
@set('students', Ember.A())
Aucun commentaire:
Enregistrer un commentaire