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