2016-05-25 20:26:45 +00:00
context = window
rest = context . JK . Rest ( )
logger = context . JK . logger
AttachmentStore = context . AttachmentStore
@AttachmentStatus = React . createClass ( {
mixins: [
Reflux . listenTo ( AttachmentStore , " onAttachmentStore " ) ,
]
onAttachmentStore: (attachmentState) ->
componentDidMount: () ->
@root = $ ( @ getDOMNode ( ) )
@attachmentNotation = @ root . find ( ' .attachment-notation ' )
@attachmentAudio = @ root . find ( ' .attachment-audio ' )
notationSelected: (e) ->
files = $ ( e . target ) . get ( 0 ) . files
2016-05-26 21:25:51 +00:00
logger . debug ( " notation files selected: " , files )
window . AttachmentActions . uploadNotations . trigger ( files , @ notationUploadDone , @ notationUploadFail )
notationUploadDone: () ->
logger . debug ( " AttachmentStatus: notationUploadDone " )
2016-05-30 05:32:55 +00:00
#context.JK.Banner.showNotice('Notation Uploaded', 'The music notation file has been uploaded, and can be accessed from the Messages window for this lesson.')
2016-05-26 21:25:51 +00:00
notationUploadFail: () ->
logger . debug ( " AttachmentStatus: notationUploadFail " )
2016-05-25 20:26:45 +00:00
audioSelected: (e) ->
files = $ ( e . target ) . get ( 0 ) . files
2016-05-26 21:25:51 +00:00
logger . debug ( " audio files selected: " , files )
2016-05-30 05:32:55 +00:00
window . AttachmentActions . uploadAudios . trigger ( files , @ notationUploadDone , @ notationUploadFail )
2016-05-26 21:25:51 +00:00
audioUploadDone: () ->
logger . debug ( " AttachmentStatus: audioUploadDone " )
2016-05-30 05:32:55 +00:00
#context.JK.Banner.showNotice('Audio file Uploaded', 'The audio file has been uploaded, and can be accessed from the Messages window for this lesson.')
2016-05-26 21:25:51 +00:00
audioUploadFail: () ->
logger . debug ( " AttachmentStatus: audioUploadFail " )
2016-05-25 20:26:45 +00:00
render: () ->
` < div className = " attachment-status " >
< form className = " hidden " >
< input type = " file " className = " hidden attachment-notation " value = " " onChange = { this . notationSelected }
accept = " .pdf, .png, .jpg, .jpeg, .gif, .xml, .mxl, .txt " multiple / >
< input type = " file " className = " hidden attachment-audio " value = " " onChange = { this . audioSelected }
accept = " .wav, .flac, .ogg, .aiff, .aifc, .au " multiple / >
< / form >
< / div > `
} )