Changeset - a07f1d87a07f
[Not reviewed]
default
0 1 0
drewp@bigasterisk.com - 7 years ago 2018-06-08 23:12:31
drewp@bigasterisk.com
fix rare update case in /live
Ignore-this: 4fa0442f0f8d29e701c2a7635313a048
1 file changed with 1 insertions and 1 deletions:
0 comments (0 inline, 0 general)
light9/web/live/live.coffee
Show inline comments
 
@@ -221,49 +221,49 @@ class ActiveSettings
 
    if @settings.has(key)
 
      row = @settings.get(key)
 
      row.onChangeFunc = graphValueChanged
 
      row.onChangeFunc(row.jsValue)
 

	
 
  effectSettingLookup: (device, attr) ->
 
    key = device.value + " " + attr.value
 
    if @settings.has(key)
 
      return @settings.get(key).setting
 

	
 
    return null
 

	
 
  deleteSetting: (setting) ->
 
    log('deleteSetting ' + setting.value)
 
    key = @keyForSetting.get(setting.value)
 
    row = @settings.get(key)
 
    if row? and not row.setting.equals(setting)
 
      throw new Error('corrupt row for ' + setting.value)
 
    row.onChangeFunc(null) if row?.onChangeFunc?
 
    @settings.delete(key)
 
    @keyForSetting.delete(setting)
 

	
 
  clear: ->
 
    new Map(@settings).forEach (row, key) ->
 
      row.onChangeFunc(null)
 
      row.onChangeFunc(null) if row.onChangeFunc?
 
    @settings.clear()
 
    @keyForSetting.clear()
 

	
 
  forAll: (cb) ->
 
    all = Array.from(@keyForSetting.keys())
 
    for s in all
 
      cb(@graph.Uri(s))
 

	
 
  allSettingsStr: ->
 
    @keyForSetting.keys()
 

	
 
class GraphToControls
 
  # More efficient bridge between liveControl widgets and graph edits,
 
  # as opposed to letting each widget scan the graph and push lots of
 
  # tiny patches to it.
 
  constructor: (@graph) ->
 
    @activeSettings = new ActiveSettings(@graph)
 
    @effect = null
 

	
 
  ctxForEffect: (effect) ->
 
    @graph.Uri(effect.value.replace(
 
      "light9.bigasterisk.com/effect",
 
      "light9.bigasterisk.com/show/dance2018/effect"))
 
      
0 comments (0 inline, 0 general)