Files @ 3b7ff54a41a9
Branch filter:

Location: light9/light9/web/effects/effects.coffee

drewp@bigasterisk.com
effects/ listing sorts by label, not uri
Ignore-this: af6000efb11655976d0a0f441a4980c2
Polymer
  is: "light9-effects"
  properties: 
    graph: {type: Object}
    effectClasses: { type: Array }
  ready: ->
    @graph.runHandler(@getClasses.bind(@), 'getClasses')

  getClasses: ->
    U = (x) => @graph.Uri(x)
    @effectClasses = @graph.subjects(U('rdf:type'), U(':Effect'))
    @effectClasses = _.sortBy(@effectClasses, (ec) => @graph.stringValue(ec, U('rdfs:label')))


Polymer
  is: "light9-effect-class"
  properties: 
    graph: {type: Object}
    uri: {type: Object}
    
  onAdd: ->
    @$.songEffects.body = {drop: @uri.value}
    @$.songEffects.generateRequest()
    
  onMomentaryPress: ->
    @$.songEffects.body = {drop: @uri.value, event: 'start'}
    @lastPress = @$.songEffects.generateRequest()
    @lastPress.completes.then (request) =>
      @lastMomentaryNote = request.response.note
      
  onMomentaryRelease: ->
    return unless @lastMomentaryNote
    @$.songEffects.body = {drop: @uri.value, note: @lastMomentaryNote}
    @lastMomentaryNote = null
    @$.songEffects.generateRequest()