mod/machines/lib/javascript/decko_slot.js.coffee in card-1.95.3 vs mod/machines/lib/javascript/decko_slot.js.coffee in card-1.96.0
- old
+ new
@@ -66,26 +66,31 @@
this[0].href = url # that's where handleRemote gets the url from
# .attr(href, url) only works for anchors
$slot.data "remote", true
$.rails.handleRemote($slot)
- setSlotContent: (val, overlay=false) ->
+ setSlotContent: (val, _overlay=false) ->
s = @slot()
- v = $(val)
- unless v[0]
-# if slotdata = s.attr 'data-slot'
-# v.attr 'data-slot', slotdata if slotdata?
-# else #simple text (not html)
- v = val
- if v.hasClass("_overlay")
- s.wrapAll('<div class="overlay-container">')
- s.before v
- else
+ v = $(val)[0] && $(val) || val
+ if typeof(v) == "string"
+ # Needed to support "TEXT: result" pattern in success (eg deleting nested cards)
s.replaceWith v
- v.trigger 'slotReady'
- v.find(".card-slot").trigger "slotReady"
+ else
+ s.setSlotContentFromElement v
v
+ setSlotContentFromElement: (el) ->
+ s = $(this)
+ if el.hasClass("_overlay")
+ s.wrapAll('<div class="overlay-container">')
+ s.before el
+ else
+ s.replaceWith el
+ el.triggerSlotReady()
+
+ triggerSlotReady: () ->
+ @trigger "slotReady"
+ @find(".card-slot").trigger "slotReady"
slotSuccess: (data, overlay) ->
if data.redirect
window.location=data.redirect
else