heist-async 0.4.0.0 → 0.5.0.0
raw patch · 3 files changed
+7/−7 lines, 3 filesdep ~heistdep ~textdep ~xmlhtmlPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: heist, text, xmlhtml
API changes (from Hackage documentation)
Files
- heist-async.cabal +4/−4
- js/heist-async.js +2/−2
- js/heist-async.min.js +1/−1
heist-async.cabal view
@@ -1,5 +1,5 @@ Name: heist-async-Version: 0.4.0.0+Version: 0.5.0.0 Synopsis: Adding support for asynchronous updates ("AJAX") with heist Description: This package provides six splices and some accompanying javascript to allow declarative ajax programming that involves no javascript programming. Homepage: http://github.com/dbp/heist-async@@ -35,9 +35,9 @@ Build-depends: base >= 4 && <= 5,- xmlhtml >= 0.1 && <= 0.2,- heist >= 0.5 && <= 0.6,- text >= 0.11 && <= 0.12,+ xmlhtml >= 0.1,+ heist >= 0.5,+ text >= 0.11, template-haskell -- Modules not exported by this package.
js/heist-async.js view
@@ -16,12 +16,12 @@ var elements = div.childNodes; for (i=0; i<elements.length; i++) { if (elements[i].nodeName == "DIV" && elements[i].hasAttribute("data-splice-name")) {- var rep = qwery("div[data-splice-name=" + elements[i].getAttribute("data-splice-name") + "]");+ var rep = qwery("div[data-splice-name='" + elements[i].getAttribute("data-splice-name") + "']"); if (rep && rep[0]) { rep[0].parentNode.replaceChild(elements[i],rep[0]); } } else if (elements[i].nodeName == "DIV" && elements[i].hasAttribute("data-append-name")) {- var rep = qwery("div[data-append-name=" + elements[i].getAttribute("data-append-name") + "]");+ var rep = qwery("div[data-append-name='" + elements[i].getAttribute("data-append-name") + "']"); if (rep && rep[0] && elements[i].childNodes) { for(n=0; n < elements[i].childNodes.length; n++) { if (elements[i].childNodes[n].nodeType == 1) {
js/heist-async.min.js view
@@ -1,1 +1,1 @@-!function(){var doc=document,htm=doc.documentElement,lct=null,nearest=function(a,b){while(a&&a.nodeName!=b)a=a.parentNode;return a},replace_splices=function(resp){var div=document.createElement("div");div.innerHTML=resp;var elements=div.childNodes;for(i=0;i<elements.length;i++)if(elements[i].nodeName=="DIV"&&elements[i].hasAttribute("data-splice-name")){var rep=qwery("div[data-splice-name="+elements[i].getAttribute("data-splice-name")+"]");rep&&rep[0]&&rep[0].parentNode.replaceChild(elements[i],rep[0])}else if(elements[i].nodeName=="DIV"&&elements[i].hasAttribute("data-append-name")){var rep=qwery("div[data-append-name="+elements[i].getAttribute("data-append-name")+"]");if(rep&&rep[0]&&elements[i].childNodes)for(n=0;n<elements[i].childNodes.length;n++)elements[i].childNodes[n].nodeType==1&&rep[0].appendChild(elements[i].childNodes[n])}else if(elements[i].nodeName=="DIV"&&elements[i].hasAttribute("data-redirect-url")){document.location.href=elements[i].getAttribute("data-redirect-url");return}var scripts,scriptsFinder=/<script[^>]*>([\s\S]+)<\/script>/gi;while(scripts=scriptsFinder.exec(resp))eval(scripts[1])};htm.onclick=function(a){a=a||window.event,lct=a.target||a.srcElement;if(lct&&lct.nodeName==="BUTTON")bonzo(lct).addClass("processing");else{var b=nearest(lct,"A")||htm,c=b.href;switch(b.rel){case"async":case"async-post":b.getAttribute("data-loading-div")&&qwery(b.getAttribute("data-loading-div"))[0]&&(qwery(b.getAttribute("data-loading-div"))[0].innerHTML="<div class='loading'></div>"),reqwest({url:c,type:"html",success:replace_splices});break;default:return}return!1}},htm.onsubmit=function(a){a=a||window.event;var b=a.target||a.srcElement;if(!!b&&b.nodeName==="FORM"&&!!b.getAttribute("data-async")){b.getAttribute("data-loading-div")&&qwery(b.getAttribute("data-loading-div"))[0]&&(qwery(b.getAttribute("data-loading-div"))[0].innerHTML="<div class='loading'></div>"),reqwest({url:b.getAttribute("action")||"",data:reqwest.serialize(b),method:b.getAttribute("method")||"post",type:"html",success:replace_splices});return!1}}}()+!function(){var doc=document,htm=doc.documentElement,lct=null,nearest=function(a,b){while(a&&a.nodeName!=b)a=a.parentNode;return a},replace_splices=function(resp){var div=document.createElement("div");div.innerHTML=resp;var elements=div.childNodes;for(i=0;i<elements.length;i++)if(elements[i].nodeName=="DIV"&&elements[i].hasAttribute("data-splice-name")){var rep=qwery("div[data-splice-name='"+elements[i].getAttribute("data-splice-name")+"']");rep&&rep[0]&&rep[0].parentNode.replaceChild(elements[i],rep[0])}else if(elements[i].nodeName=="DIV"&&elements[i].hasAttribute("data-append-name")){var rep=qwery("div[data-append-name='"+elements[i].getAttribute("data-append-name")+"']");if(rep&&rep[0]&&elements[i].childNodes)for(n=0;n<elements[i].childNodes.length;n++)elements[i].childNodes[n].nodeType==1&&rep[0].appendChild(elements[i].childNodes[n])}else if(elements[i].nodeName=="DIV"&&elements[i].hasAttribute("data-redirect-url")){document.location.href=elements[i].getAttribute("data-redirect-url");return}var scripts,scriptsFinder=/<script[^>]*>([\s\S]+)<\/script>/gi;while(scripts=scriptsFinder.exec(resp))eval(scripts[1])};htm.onclick=function(a){a=a||window.event,lct=a.target||a.srcElement;if(lct&&lct.nodeName==="BUTTON"){bonzo(lct).addClass("processing");return}var b=nearest(lct,"A")||htm,c=b.href;switch(b.rel){case"async":case"async-post":b.getAttribute("data-loading-div")&&qwery(b.getAttribute("data-loading-div"))[0]&&(qwery(b.getAttribute("data-loading-div"))[0].innerHTML="<div class='loading'></div>"),reqwest({url:c,type:"html",success:replace_splices});break;default:return}return!1},htm.onsubmit=function(a){a=a||window.event;var b=a.target||a.srcElement;if(!b||b.nodeName!=="FORM"||!b.getAttribute("data-async"))return;return b.getAttribute("data-loading-div")&&qwery(b.getAttribute("data-loading-div"))[0]&&(qwery(b.getAttribute("data-loading-div"))[0].innerHTML="<div class='loading'></div>"),reqwest({url:b.getAttribute("action")||"",data:reqwest.serialize(b),method:b.getAttribute("method")||"post",type:"html",success:replace_splices}),!1}}()