- commit
- 7189f6cce6c93506f99d2cf330f079a5070af181
- parent
- 089f6d8fee26b37c7c295863e915759e78c18979
- Author
- Tobias Bengfort <tobias.bengfort@gmx.net>
- Date
- 2015-08-31 07:23
build
Diffstat
| M | dist/muu-core.js | 10 | +++++----- |
| M | dist/muu-core.min.js | 18 | +++++++++--------- |
| M | dist/muu.js | 55 | +++++++++++++++++++++++++++++-------------------------- |
| M | dist/muu.min.js | 38 | +++++++++++++++++++------------------- |
4 files changed, 62 insertions, 59 deletions
diff --git a/dist/muu-core.js b/dist/muu-core.js
@@ -397,13 +397,13 @@ 397 397 * @param {string} value 398 398 */ 399 399 $.setRadio = function(options, value) {400 -1 for (var i = 0; i < options.length; i++) {401 -1 if (options[i].value === value) {402 -1 options[i].checked = true;-1 400 _.forEach(options, function(option) { -1 401 if (option.value === value) { -1 402 option.checked = true; 403 403 } else {404 -1 options[i].checked = false;-1 404 option.checked = false; 405 405 }406 -1 }-1 406 }); 407 407 }; 408 408 409 409 return $;
diff --git a/dist/muu-core.min.js b/dist/muu-core.min.js
@@ -1,11 +1,11 @@ 1 1 (function(q,p,m){(function(l){"function"===typeof define&&define.amd?define("muu",["lodash"],l):q.muu=l(q._)})(function(l){var n={};n["muu-js-helpers"]={instance:l};var t=function(d,k){for(var g=[],a=0;a<d.length;a++)g.push(k(d[a]));return g};l=function(d,k,g){n[d]={deps:k,factory:g}};var r=function(d){if(!n[d])return m;n[d].instance||(n[d].instance=n[d].factory.apply(m,t(n[d].deps,r)));return n[d].instance};l("muu-directive",["muu-dom-helpers","muu-js-helpers","muu-update-dom"],function(d,k,g){return function(a,2 -1 c,b){var h=this;a.innerHTML="";var e=function(f){var e=f.currentTarget,b="data-on"+f.type;e.hasAttribute(b)&&(e=e.getAttribute(b),f=d.createEvent("muu-"+e,m,m,f),a.dispatchEvent(f))};this.update=function(f){var s=p.createElement("div");s.innerHTML=b.renderer(c,f);g(a,s);k.forEach(["keydown","keyup","click","change","search"],function(a){k.forEach(h.querySelectorAll("[data-on"+a+"]"),function(f){f.addEventListener(a,e,!1)})});var u=d.createEvent("muu-parent-update");f=this.querySelectorAll("muu.muu-initialised");3 -1 k.forEach(f,function(a){a.dispatchEvent(u)});b.linkAll(h)};this.querySelectorAll=function(f){var e=a.querySelectorAll(f),b=a.querySelectorAll(".muu-isolate"),b=k.union(k.map(b,function(a){return a.querySelectorAll(f)}));return k.difference(e,b)};this.querySelector=function(a){a=h.querySelectorAll(a);if(0<a.length)return a[0]};this.getModel=function(a,e){if(a===m){var b={};k.forEach(h.querySelectorAll("[name]"),function(a){b[a.name]=h.getModel(a.name)});return b}var c=h.querySelector("[name="+a+"]");4 -1 return c===m?e:"number"===c.getAttribute("type")?parseFloat(c.value,10):"checkbox"===c.getAttribute("type")?c.checked:"radio"===c.getAttribute("type")?(c=h.querySelectorAll("[name="+a+"]"),d.getRadio(c)||e):c.value};this.setModel=function(a,e){var b=h.querySelector("[name="+a+"]");"checkbox"===b.getAttribute("type")?b.checked=e:"radio"===b.getAttribute("type")?(b=h.querySelectorAll("[name="+a+"]"),d.setRadio(b,e)):b.value=e}}});l("muu-dom-helpers",["muu-js-helpers"],function(d){var k={"&":"&",5 -1 "<":"<",">":">",'"':""","'":"'","/":"/"},g={DELAY:1E3,escapeHtml:function(a){return String(a).replace(/[&<>"'\/]/g,function(a){return k[a]})},createEvent:function(a,c,b,d){if("function"===typeof CustomEvent)return new CustomEvent(a,{detail:d,bubbles:c,cancelable:b});var e=p.createEvent("CustomEvent");e.initCustomEvent(a,c,b,d);return e},on:function(a,c,b){a.addEventListener(c,b,!1);return function(){a.removeEventListener(c,b,!1)}},ready:function(a){a=d.once(a);if("complete"===6 -1 p.readyState)return a(),function(){};var c=g.on(p,"DOMContentLoaded",a),b=g.on(q,"load",a);return function(){c();b()}},isDescendant:function(a,c){return!!a&&(a===c||g.isDescendant(a.parentNode,c))},destroy:function(a,c){var b;if(q.MutationObserver){var h=new MutationObserver(function(){g.isDescendant(a,p)||(c(),b())});h.observe(p,{childList:!0,subtree:!0});b=d.once(function(){h.disconnect();h=m})}else{var e=setInterval(function(){g.isDescendant(a,p)||(c(),b())},g.DELAY);b=function(){clearInterval(e)}}return b},7 -1 getRadio:function(a){for(var c=0;c<a.length;c++)if(a[c].checked)return a[c].value},setRadio:function(a,c){for(var b=0;b<a.length;b++)a[b].checked=a[b].value===c?!0:!1}};return g});l("muu",["muu-registry","muu-dom-helpers","muu-location"],function(d,k,g){var a={};a.Registry=d;a.$=k;a.$location=g;return a});l("muu-registry",["muu-template","muu-directive","muu-js-helpers","muu-dom-helpers"],function(d,k,g,a){return function(c){var b=this,h={};this.config=c||{};this.renderer=b.config.renderer||d;this.registerDirective=8 -1 function(a,c,d){h[a]={template:c,link:d};return b};this.registerModule=function(a){a(b);return b};this.link=function(e,c){c===m&&(c=e.getAttribute("type"));if(!h.hasOwnProperty(c))throw Error("Unknown directive type: "+c);var d=h[c].link,g=new k(e,h[c].template,b),d=d(g,e);e.classList.add("muu-isolate");e.classList.add("muu-initialised");b.config.debug&&(e.directive=g);d!==m&&a.destroy(e,d);return g};this.linkAll=function(a){a=g.filter(a.querySelectorAll("muu"),function(a){return!a.classList.contains("muu-initialised")});9 -1 return g.map(a,function(a){return b.link(a)})}}});l("muu-update-dom",["muu-js-helpers"],function(d){var k=function(a,c){var b=d.map(a.attributes,function(a){return a.name}),g=d.map(c.attributes,function(a){return a.name});d.forEach(b,function(b){c.hasAttribute(b)||"__IE8__"===b.substr(0,7)||a.removeAttribute(b)});d.forEach(g,function(b){a.getAttribute(b)!==c.getAttribute(b)&&a.setAttribute(b,c.getAttribute(b))})},g=function(a,c){for(var b=a.childNodes.length,h=c.childNodes.length,e=h;e<b;e++)a.removeChild(a.childNodes[h]);10 -1 for(e=b;e<h;e++)a.appendChild(c.childNodes[b]);for(e=0;e<b&&e<h;e++){var f=a.childNodes[e],l=c.childNodes[e];if(f.nodeType===l.nodeType&&f.nodeName===l.nodeName&&f.type===l.type){if(1===f.nodeType){var m=d.filter(f.classList,function(a){return 0===a.lastIndexOf("muu-",0)});k(f,l);d.forEach(m,function(a){f.classList.add(a)})}else 3===f.nodeType&&(f.nodeValue=l.nodeValue);3===f.nodeType||f.classList.contains("muu-isolate")||g(f,l)}else f.parentNode.replaceChild(l,f)}};return g});return r("muu")})})(window,-1 2 b,e){var h=this;a.innerHTML="";var c=function(f){var c=f.currentTarget,b="data-on"+f.type;c.hasAttribute(b)&&(c=c.getAttribute(b),f=d.createEvent("muu-"+c,m,m,f),a.dispatchEvent(f))};this.update=function(f){var s=p.createElement("div");s.innerHTML=e.renderer(b,f);g(a,s);k.forEach(["keydown","keyup","click","change","search"],function(a){k.forEach(h.querySelectorAll("[data-on"+a+"]"),function(f){f.addEventListener(a,c,!1)})});var u=d.createEvent("muu-parent-update");f=this.querySelectorAll("muu.muu-initialised"); -1 3 k.forEach(f,function(a){a.dispatchEvent(u)});e.linkAll(h)};this.querySelectorAll=function(f){var c=a.querySelectorAll(f),b=a.querySelectorAll(".muu-isolate"),b=k.union(k.map(b,function(a){return a.querySelectorAll(f)}));return k.difference(c,b)};this.querySelector=function(a){a=h.querySelectorAll(a);if(0<a.length)return a[0]};this.getModel=function(a,c){if(a===m){var b={};k.forEach(h.querySelectorAll("[name]"),function(a){b[a.name]=h.getModel(a.name)});return b}var e=h.querySelector("[name="+a+"]"); -1 4 return e===m?c:"number"===e.getAttribute("type")?parseFloat(e.value,10):"checkbox"===e.getAttribute("type")?e.checked:"radio"===e.getAttribute("type")?(e=h.querySelectorAll("[name="+a+"]"),d.getRadio(e)||c):e.value};this.setModel=function(a,c){var b=h.querySelector("[name="+a+"]");"checkbox"===b.getAttribute("type")?b.checked=c:"radio"===b.getAttribute("type")?(b=h.querySelectorAll("[name="+a+"]"),d.setRadio(b,c)):b.value=c}}});l("muu-dom-helpers",["muu-js-helpers"],function(d){var k={"&":"&", -1 5 "<":"<",">":">",'"':""","'":"'","/":"/"},g={DELAY:1E3,escapeHtml:function(a){return String(a).replace(/[&<>"'\/]/g,function(a){return k[a]})},createEvent:function(a,b,e,d){if("function"===typeof CustomEvent)return new CustomEvent(a,{detail:d,bubbles:b,cancelable:e});var c=p.createEvent("CustomEvent");c.initCustomEvent(a,b,e,d);return c},on:function(a,b,e){a.addEventListener(b,e,!1);return function(){a.removeEventListener(b,e,!1)}},ready:function(a){a=d.once(a);if("complete"=== -1 6 p.readyState)return a(),function(){};var b=g.on(p,"DOMContentLoaded",a),e=g.on(q,"load",a);return function(){b();e()}},isDescendant:function(a,b){return!!a&&(a===b||g.isDescendant(a.parentNode,b))},destroy:function(a,b){var e;if(q.MutationObserver){var h=new MutationObserver(function(){g.isDescendant(a,p)||(b(),e())});h.observe(p,{childList:!0,subtree:!0});e=d.once(function(){h.disconnect();h=m})}else{var c=setInterval(function(){g.isDescendant(a,p)||(b(),e())},g.DELAY);e=function(){clearInterval(c)}}return e}, -1 7 getRadio:function(a){for(var b=0;b<a.length;b++)if(a[b].checked)return a[b].value},setRadio:function(a,b){d.forEach(a,function(a){a.checked=a.value===b?!0:!1})}};return g});l("muu",["muu-registry","muu-dom-helpers","muu-location"],function(d,k,g){var a={};a.Registry=d;a.$=k;a.$location=g;return a});l("muu-registry",["muu-template","muu-directive","muu-js-helpers","muu-dom-helpers"],function(d,k,g,a){return function(b){var e=this,h={};this.config=b||{};this.renderer=e.config.renderer||d;this.registerDirective= -1 8 function(a,b,d){h[a]={template:b,link:d};return e};this.registerModule=function(a){a(e);return e};this.link=function(c,b){b===m&&(b=c.getAttribute("type"));if(!h.hasOwnProperty(b))throw Error("Unknown directive type: "+b);var d=h[b].link,g=new k(c,h[b].template,e),d=d(g,c);c.classList.add("muu-isolate");c.classList.add("muu-initialised");e.config.debug&&(c.directive=g);d!==m&&a.destroy(c,d);return g};this.linkAll=function(a){a=g.filter(a.querySelectorAll("muu"),function(a){return!a.classList.contains("muu-initialised")}); -1 9 return g.map(a,function(a){return e.link(a)})}}});l("muu-update-dom",["muu-js-helpers"],function(d){var k=function(a,b){var e=d.map(a.attributes,function(a){return a.name}),g=d.map(b.attributes,function(a){return a.name});d.forEach(e,function(c){b.hasAttribute(c)||"__IE8__"===c.substr(0,7)||a.removeAttribute(c)});d.forEach(g,function(c){a.getAttribute(c)!==b.getAttribute(c)&&a.setAttribute(c,b.getAttribute(c))})},g=function(a,b){for(var e=a.childNodes.length,h=b.childNodes.length,c=h;c<e;c++)a.removeChild(a.childNodes[h]); -1 10 for(c=e;c<h;c++)a.appendChild(b.childNodes[e]);for(c=0;c<e&&c<h;c++){var f=a.childNodes[c],l=b.childNodes[c];if(f.nodeType===l.nodeType&&f.nodeName===l.nodeName&&f.type===l.type){if(1===f.nodeType){var m=d.filter(f.classList,function(a){return 0===a.lastIndexOf("muu-",0)});k(f,l);d.forEach(m,function(a){f.classList.add(a)})}else 3===f.nodeType&&(f.nodeValue=l.nodeValue);3===f.nodeType||f.classList.contains("muu-isolate")||g(f,l)}else f.parentNode.replaceChild(l,f)}};return g});return r("muu")})})(window, 11 11 document,void 0);
diff --git a/dist/muu.js b/dist/muu.js
@@ -397,13 +397,13 @@ 397 397 * @param {string} value 398 398 */ 399 399 $.setRadio = function(options, value) {400 -1 for (var i = 0; i < options.length; i++) {401 -1 if (options[i].value === value) {402 -1 options[i].checked = true;-1 400 _.forEach(options, function(option) { -1 401 if (option.value === value) { -1 402 option.checked = true; 403 403 } else {404 -1 options[i].checked = false;-1 404 option.checked = false; 405 405 }406 -1 }-1 406 }); 407 407 }; 408 408 409 409 return $; @@ -482,7 +482,8 @@ 482 482 return array.indexOf(value); 483 483 } 484 484485 -1 for (var i = 0; i < array.length; i++) {-1 485 var l = array.length; -1 486 for (var i = 0; i < l; i++) { 486 487 if (array[i] === value) { 487 488 return i; 488 489 } @@ -491,16 +492,18 @@ 491 492 }; 492 493 493 494 /**494 -1 * @param {Array} array495 -1 * @param {Function} fn-1 495 * @template T -1 496 * @param {Array.<T>} array -1 497 * @param {function(T, number, Array.<T>)} fn 496 498 */ 497 499 _.forEach = function(array, fn) { 498 500 if ('forEach' in array) { 499 501 return array.forEach(fn); 500 502 } 501 503502 -1 for (var i = 0; i < array.length; i++) {503 -1 fn(array[i]);-1 504 var l = array.length; -1 505 for (var i = 0; i < l; i++) { -1 506 fn(array[i], i, array); 504 507 } 505 508 }; 506 509 @@ -516,9 +519,9 @@ 516 519 } 517 520 518 521 var results = [];519 -1 for (var i = 0; i < array.length; i++) {520 -1 results.push(fn(array[i]));521 -1 }-1 522 _.forEach(array, function(item) { -1 523 results.push(fn(item)); -1 524 }); 522 525 return results; 523 526 }; 524 527 @@ -534,11 +537,11 @@ 534 537 } 535 538 536 539 var results = [];537 -1 for (var i = 0; i < array.length; i++) {538 -1 if (fn(array[i])) {539 -1 results.push(array[i]);-1 540 _.forEach(array, function(item) { -1 541 if (fn(item)) { -1 542 results.push(item); 540 543 }541 -1 }-1 544 }); 542 545 return results; 543 546 }; 544 547 @@ -549,13 +552,13 @@ 549 552 */ 550 553 _.union = function(arrays) { 551 554 var results = [];552 -1 for (var i = 0; i < arrays.length; i++) {553 -1 for (var j = 0; j < arrays[i].length; j++) {554 -1 if (_.indexOf(results, arrays[i][j]) === -1) {555 -1 results.push(arrays[i][j]);-1 555 _.forEach(arrays, function(array) { -1 556 _.forEach(array, function(item) { -1 557 if (_.indexOf(results, item) === -1) { -1 558 results.push(item); 556 559 }557 -1 }558 -1 }-1 560 }); -1 561 }); 559 562 return results; 560 563 }; 561 564 @@ -1092,9 +1095,9 @@ 1092 1095 } 1093 1096 } else { 1094 1097 if (_.isArray(value)) {1095 -1 for (var i = 0; i < value.length; i++) {1096 -1 result += inner.render(value[i]);1097 -1 }-1 1098 _.forEach(value, function(item) { -1 1099 result += inner.render(item); -1 1100 }); 1098 1101 } else if (value) { 1099 1102 result += inner.render(data); 1100 1103 }
diff --git a/dist/muu.min.js b/dist/muu.min.js
@@ -1,19 +1,19 @@1 -1 (function(r,p,h){(function(h){"function"===typeof define&&define.amd?define("muu",[],h):r.muu=h(r._)})(function(m){var n={};n["muu-js-helpers"]={instance:m};var v=function(d,b){for(var e=[],a=0;a<d.length;a++)e.push(b(d[a]));return e};m=function(d,b,e){n[d]={deps:b,factory:e}};var t=function(d){if(!n[d])return h;n[d].instance||(n[d].instance=n[d].factory.apply(h,v(n[d].deps,t)));return n[d].instance};m("muu-directive",["muu-dom-helpers","muu-js-helpers","muu-update-dom"],function(d,b,e){return function(a,2 -1 c,g){var f=this;a.innerHTML="";var k=function(c){var b=c.currentTarget,k="data-on"+c.type;b.hasAttribute(k)&&(b=b.getAttribute(k),c=d.createEvent("muu-"+b,h,h,c),a.dispatchEvent(c))};this.update=function(l){var u=p.createElement("div");u.innerHTML=g.renderer(c,l);e(a,u);b.forEach(["keydown","keyup","click","change","search"],function(a){b.forEach(f.querySelectorAll("[data-on"+a+"]"),function(c){c.addEventListener(a,k,!1)})});var s=d.createEvent("muu-parent-update");l=this.querySelectorAll("muu.muu-initialised");3 -1 b.forEach(l,function(a){a.dispatchEvent(s)});g.linkAll(f)};this.querySelectorAll=function(c){var k=a.querySelectorAll(c),d=a.querySelectorAll(".muu-isolate"),d=b.union(b.map(d,function(a){return a.querySelectorAll(c)}));return b.difference(k,d)};this.querySelector=function(a){a=f.querySelectorAll(a);if(0<a.length)return a[0]};this.getModel=function(a,c){if(a===h){var k={};b.forEach(f.querySelectorAll("[name]"),function(a){k[a.name]=f.getModel(a.name)});return k}var e=f.querySelector("[name="+a+"]");4 -1 return e===h?c:"number"===e.getAttribute("type")?parseFloat(e.value,10):"checkbox"===e.getAttribute("type")?e.checked:"radio"===e.getAttribute("type")?(e=f.querySelectorAll("[name="+a+"]"),d.getRadio(e)||c):e.value};this.setModel=function(a,c){var b=f.querySelector("[name="+a+"]");"checkbox"===b.getAttribute("type")?b.checked=c:"radio"===b.getAttribute("type")?(b=f.querySelectorAll("[name="+a+"]"),d.setRadio(b,c)):b.value=c}}});m("muu-dom-helpers",["muu-js-helpers"],function(d){var b={"&":"&",5 -1 "<":"<",">":">",'"':""","'":"'","/":"/"},e={DELAY:1E3,escapeHtml:function(a){return String(a).replace(/[&<>"'\/]/g,function(a){return b[a]})},createEvent:function(a,c,b,e){if("function"===typeof CustomEvent)return new CustomEvent(a,{detail:e,bubbles:c,cancelable:b});var k=p.createEvent("CustomEvent");k.initCustomEvent(a,c,b,e);return k},on:function(a,c,b){a.addEventListener(c,b,!1);return function(){a.removeEventListener(c,b,!1)}},ready:function(a){a=d.once(a);if("complete"===6 -1 p.readyState)return a(),function(){};var c=e.on(p,"DOMContentLoaded",a),b=e.on(r,"load",a);return function(){c();b()}},isDescendant:function(a,c){return!!a&&(a===c||e.isDescendant(a.parentNode,c))},destroy:function(a,c){var b;if(r.MutationObserver){var f=new MutationObserver(function(){e.isDescendant(a,p)||(c(),b())});f.observe(p,{childList:!0,subtree:!0});b=d.once(function(){f.disconnect();f=h})}else{var k=setInterval(function(){e.isDescendant(a,p)||(c(),b())},e.DELAY);b=function(){clearInterval(k)}}return b},7 -1 getRadio:function(a){for(var c=0;c<a.length;c++)if(a[c].checked)return a[c].value},setRadio:function(a,c){for(var b=0;b<a.length;b++)a[b].checked=a[b].value===c?!0:!1}};return e});m("muu-js-helpers",[],function(){var d={isString:function(b){return"string"===typeof b||"[object String]"===Object.prototype.toString.call(b)}};d.isArray=Array.isArray;d.isFunction=function(b){return"function"===typeof b};d.once=function(b){var e,a=!1;return function(){a||(e=b.apply(this,arguments),a=!0);return e}};d.indexOf=8 -1 function(b,e){if("indexOf"in b)return b.indexOf(e);for(var a=0;a<b.length;a++)if(b[a]===e)return a;return-1};d.forEach=function(b,e){if("forEach"in b)return b.forEach(e);for(var a=0;a<b.length;a++)e(b[a])};d.map=function(b,e){if("map"in b)return b.map(e);for(var a=[],c=0;c<b.length;c++)a.push(e(b[c]));return a};d.filter=function(b,e){if("filter"in b)return b.filter(e);for(var a=[],c=0;c<b.length;c++)e(b[c])&&a.push(b[c]);return a};d.union=function(b){for(var e=[],a=0;a<b.length;a++)for(var c=0;c<9 -1 b[a].length;c++)-1===d.indexOf(e,b[a][c])&&e.push(b[a][c]);return e};d.difference=function(b,e){for(var a=[],c=0;c<b.length;c++)-1===d.indexOf(e,b[c])&&a.push(b[c]);return a};d.flatten=function(b){var e=[];d.forEach(b,function(a){d.isArray(a)?e=e.concat(d.flatten(a)):e.push(a)});return e};return d});m("muu-location",["muu-search"],function(d){var b={absUrl:function(){return location.href},url:function(a,c){if(a===h)return location.pathname+location.search+location.hash;c?history.replaceState(null,10 -1 null,a):history.pushState(null,null,a);return b},protocol:function(){return location.protocol},host:function(){return location.host},port:function(){return location.port},path:function(a,c){if(a===h)return location.pathname;b.url(a+location.search+location.hash,c);return b}},e=function(a,c){if(a===h)return location.search;a&&"?"!==a[0]&&(a="?"+a);1===a.length&&(a="");b.url(location.pathname+a+location.hash,c);return b};b.search=function(a,b,g){if(a!==h){if(b!==h){var f=d.parse(e());f[a]=b;return e(d.unparse(f),11 -1 g)}return e(d.unparse(a),g)}return d.parse(e())};b.hash=function(a,c){if(a===h)return location.hash?location.hash.slice(1):"";b.url(location.pathname+location.search+"#"+a,c);return b};b.addEventListener=function(a,c){"change"===a&&r.addEventListener("popstate",c,!1);return b};b.removeEventListener=function(a,c){"change"===a&&r.removeEventListener("popstate",c,!1);return b};return b});m("muu-registry",["muu-template","muu-directive","muu-js-helpers","muu-dom-helpers"],function(d,b,e,a){return function(c){var g=12 -1 this,f={};this.config=c||{};this.renderer=g.config.renderer||d;this.registerDirective=function(a,b,c){f[a]={template:b,link:c};return g};this.registerModule=function(a){a(g);return g};this.link=function(c,e){e===h&&(e=c.getAttribute("type"));if(!f.hasOwnProperty(e))throw Error("Unknown directive type: "+e);var d=f[e].link,s=new b(c,f[e].template,g),d=d(s,c);c.classList.add("muu-isolate");c.classList.add("muu-initialised");g.config.debug&&(c.directive=s);d!==h&&a.destroy(c,d);return s};this.linkAll=13 -1 function(a){a=e.filter(a.querySelectorAll("muu"),function(a){return!a.classList.contains("muu-initialised")});return e.map(a,function(a){return g.link(a)})}}});m("muu-search",["muu-js-helpers"],function(d){var b={parse:function(a){var c={},b=function(a,b){c.hasOwnProperty(a)?d.isArray(c[a])?c[a].push(b):c[a]=[c[a],b]:c[a]=b};d.forEach(a.substring(1).split("&"),function(a){a=d.map(a.split("="),decodeURIComponent);2===a.length?b(a[0],a[1]):a[0]&&b(a[0],!0)});return c}},e=function(a,b){return b===h||14 -1 null===b||!1===b?[]:d.isArray(b)?d.flatten(d.map(b,function(b){return e(a,b)})):!0===b?[encodeURIComponent(a)]:[encodeURIComponent(a)+"="+encodeURIComponent(b)]};b.unparse=function(a){if(d.isString(a))return a;var b=[],g;for(g in a)a.hasOwnProperty(g)&&(b=b.concat(e(g,a[g])));return 0<b.length?"?"+b.join("&"):""};return b});m("muu-template",["muu-js-helpers","muu-dom-helpers"],function(d,b){var e=function(a,b){return"this"===a?b:b[a]},a=function(a){if(-1===a.indexOf(":"))return function(c){return b.escapeHtml(e(a,15 -1 c)||"")};var c=d.map(a.split(","),function(a){var b=a.split(":");a=b[0].trim();b=b.slice(1).join(":").trim();return[a,b]});return function(a){var k=d.map(d.filter(c,function(b){return e(b[1],a)}),function(a){return a[0]});return b.escapeHtml(k.join(" "))}},c=function(a,b,c){var f=g(b,a);return{render:function(b){var g=e(a,b),l="";if(c)g||(l+=f.render(b));else if(d.isArray(g))for(b=0;b<g.length;b++)l+=f.render(g[b]);else g&&(l+=f.render(b));return l},afterBlock:f.afterBlock}},g=function(b,e){var d=16 -1 b.indexOf("{{");if(-1===d){if(e===h)return{render:function(){return b},afterBlock:""};throw Error("unclosed loop: "+e);}var f=b.slice(0,d),q=b.slice(d),m=q.indexOf("}}");if(-1===m)throw Error("unclosed tag: "+q);var d=q.slice(2,m),q=q.slice(m+2),m=!0,n={render:function(){return""},afterBlock:q};if(0===d.lastIndexOf("#",0))n=c(d.substr(1),q);else if(0===d.lastIndexOf("^",0))n=c(d.substr(1),q,!0);else if(0===d.lastIndexOf("/",0)){if(m=!1,d.substr(1)!==e)throw Error("unexpected closing loop: "+d);}else 0!==17 -1 d.lastIndexOf("!",0)&&(n.render=a(d));if(m){var p=g(n.afterBlock,e);return{render:function(a){return f+n.render(a)+p.render(a)},afterBlock:p.afterBlock}}return{render:function(a){return f+n.render(a)},afterBlock:n.afterBlock}},f={};return function(a,b){f[a]===h&&(f[a]=g(a));return f[a].render(b)}});m("muu-update-dom",["muu-js-helpers"],function(d){var b=function(a,b){var e=d.map(a.attributes,function(a){return a.name}),f=d.map(b.attributes,function(a){return a.name});d.forEach(e,function(d){b.hasAttribute(d)||18 -1 "__IE8__"===d.substr(0,7)||a.removeAttribute(d)});d.forEach(f,function(d){a.getAttribute(d)!==b.getAttribute(d)&&a.setAttribute(d,b.getAttribute(d))})},e=function(a,c){for(var g=a.childNodes.length,f=c.childNodes.length,k=f;k<g;k++)a.removeChild(a.childNodes[f]);for(k=g;k<f;k++)a.appendChild(c.childNodes[g]);for(k=0;k<g&&k<f;k++){var l=a.childNodes[k],h=c.childNodes[k];if(l.nodeType===h.nodeType&&l.nodeName===h.nodeName&&l.type===h.type){if(1===l.nodeType){var m=d.filter(l.classList,function(a){return 0===19 -1 a.lastIndexOf("muu-",0)});b(l,h);d.forEach(m,function(a){l.classList.add(a)})}else 3===l.nodeType&&(l.nodeValue=h.nodeValue);3===l.nodeType||l.classList.contains("muu-isolate")||e(l,h)}else l.parentNode.replaceChild(h,l)}};return e});m("muu",["muu-registry","muu-dom-helpers","muu-location"],function(d,b,e){var a={};a.Registry=d;a.$=b;a.$location=e;return a});return t("muu")})})(window,document,void 0);-1 1 (function(r,p,g){(function(g){"function"===typeof define&&define.amd?define("muu",[],g):r.muu=g(r._)})(function(k){var m={};m["muu-js-helpers"]={instance:k};var v=function(d,c){for(var e=[],a=0;a<d.length;a++)e.push(c(d[a]));return e};k=function(d,c,e){m[d]={deps:c,factory:e}};var t=function(d){if(!m[d])return g;m[d].instance||(m[d].instance=m[d].factory.apply(g,v(m[d].deps,t)));return m[d].instance};k("muu-directive",["muu-dom-helpers","muu-js-helpers","muu-update-dom"],function(d,c,e){return function(a, -1 2 b,n){var f=this;a.innerHTML="";var h=function(b){var c=b.currentTarget,h="data-on"+b.type;c.hasAttribute(h)&&(c=c.getAttribute(h),b=d.createEvent("muu-"+c,g,g,b),a.dispatchEvent(b))};this.update=function(l){var u=p.createElement("div");u.innerHTML=n.renderer(b,l);e(a,u);c.forEach(["keydown","keyup","click","change","search"],function(a){c.forEach(f.querySelectorAll("[data-on"+a+"]"),function(b){b.addEventListener(a,h,!1)})});var s=d.createEvent("muu-parent-update");l=this.querySelectorAll("muu.muu-initialised"); -1 3 c.forEach(l,function(a){a.dispatchEvent(s)});n.linkAll(f)};this.querySelectorAll=function(b){var h=a.querySelectorAll(b),d=a.querySelectorAll(".muu-isolate"),d=c.union(c.map(d,function(a){return a.querySelectorAll(b)}));return c.difference(h,d)};this.querySelector=function(a){a=f.querySelectorAll(a);if(0<a.length)return a[0]};this.getModel=function(a,b){if(a===g){var h={};c.forEach(f.querySelectorAll("[name]"),function(a){h[a.name]=f.getModel(a.name)});return h}var e=f.querySelector("[name="+a+"]"); -1 4 return e===g?b:"number"===e.getAttribute("type")?parseFloat(e.value,10):"checkbox"===e.getAttribute("type")?e.checked:"radio"===e.getAttribute("type")?(e=f.querySelectorAll("[name="+a+"]"),d.getRadio(e)||b):e.value};this.setModel=function(a,b){var c=f.querySelector("[name="+a+"]");"checkbox"===c.getAttribute("type")?c.checked=b:"radio"===c.getAttribute("type")?(c=f.querySelectorAll("[name="+a+"]"),d.setRadio(c,b)):c.value=b}}});k("muu-dom-helpers",["muu-js-helpers"],function(d){var c={"&":"&", -1 5 "<":"<",">":">",'"':""","'":"'","/":"/"},e={DELAY:1E3,escapeHtml:function(a){return String(a).replace(/[&<>"'\/]/g,function(a){return c[a]})},createEvent:function(a,b,c,d){if("function"===typeof CustomEvent)return new CustomEvent(a,{detail:d,bubbles:b,cancelable:c});var h=p.createEvent("CustomEvent");h.initCustomEvent(a,b,c,d);return h},on:function(a,b,c){a.addEventListener(b,c,!1);return function(){a.removeEventListener(b,c,!1)}},ready:function(a){a=d.once(a);if("complete"=== -1 6 p.readyState)return a(),function(){};var b=e.on(p,"DOMContentLoaded",a),c=e.on(r,"load",a);return function(){b();c()}},isDescendant:function(a,b){return!!a&&(a===b||e.isDescendant(a.parentNode,b))},destroy:function(a,b){var c;if(r.MutationObserver){var f=new MutationObserver(function(){e.isDescendant(a,p)||(b(),c())});f.observe(p,{childList:!0,subtree:!0});c=d.once(function(){f.disconnect();f=g})}else{var h=setInterval(function(){e.isDescendant(a,p)||(b(),c())},e.DELAY);c=function(){clearInterval(h)}}return c}, -1 7 getRadio:function(a){for(var b=0;b<a.length;b++)if(a[b].checked)return a[b].value},setRadio:function(a,b){d.forEach(a,function(a){a.checked=a.value===b?!0:!1})}};return e});k("muu-js-helpers",[],function(){var d={isString:function(c){return"string"===typeof c||"[object String]"===Object.prototype.toString.call(c)}};d.isArray=Array.isArray;d.isFunction=function(c){return"function"===typeof c};d.once=function(c){var d,a=!1;return function(){a||(d=c.apply(this,arguments),a=!0);return d}};d.indexOf=function(c, -1 8 d){if("indexOf"in c)return c.indexOf(d);for(var a=c.length,b=0;b<a;b++)if(c[b]===d)return b;return-1};d.forEach=function(c,d){if("forEach"in c)return c.forEach(d);for(var a=c.length,b=0;b<a;b++)d(c[b],b,c)};d.map=function(c,e){if("map"in c)return c.map(e);var a=[];d.forEach(c,function(b){a.push(e(b))});return a};d.filter=function(c,e){if("filter"in c)return c.filter(e);var a=[];d.forEach(c,function(b){e(b)&&a.push(b)});return a};d.union=function(c){var e=[];d.forEach(c,function(a){d.forEach(a,function(a){-1=== -1 9 d.indexOf(e,a)&&e.push(a)})});return e};d.difference=function(c,e){for(var a=[],b=0;b<c.length;b++)-1===d.indexOf(e,c[b])&&a.push(c[b]);return a};d.flatten=function(c){var e=[];d.forEach(c,function(a){d.isArray(a)?e=e.concat(d.flatten(a)):e.push(a)});return e};return d});k("muu-location",["muu-search"],function(d){var c={absUrl:function(){return location.href},url:function(a,b){if(a===g)return location.pathname+location.search+location.hash;b?history.replaceState(null,null,a):history.pushState(null, -1 10 null,a);return c},protocol:function(){return location.protocol},host:function(){return location.host},port:function(){return location.port},path:function(a,b){if(a===g)return location.pathname;c.url(a+location.search+location.hash,b);return c}},e=function(a,b){if(a===g)return location.search;a&&"?"!==a[0]&&(a="?"+a);1===a.length&&(a="");c.url(location.pathname+a+location.hash,b);return c};c.search=function(a,b,c){if(a!==g){if(b!==g){var f=d.parse(e());f[a]=b;return e(d.unparse(f),c)}return e(d.unparse(a), -1 11 c)}return d.parse(e())};c.hash=function(a,b){if(a===g)return location.hash?location.hash.slice(1):"";c.url(location.pathname+location.search+"#"+a,b);return c};c.addEventListener=function(a,b){"change"===a&&r.addEventListener("popstate",b,!1);return c};c.removeEventListener=function(a,b){"change"===a&&r.removeEventListener("popstate",b,!1);return c};return c});k("muu-registry",["muu-template","muu-directive","muu-js-helpers","muu-dom-helpers"],function(d,c,e,a){return function(b){var n=this,f={}; -1 12 this.config=b||{};this.renderer=n.config.renderer||d;this.registerDirective=function(a,b,c){f[a]={template:b,link:c};return n};this.registerModule=function(a){a(n);return n};this.link=function(b,d){d===g&&(d=b.getAttribute("type"));if(!f.hasOwnProperty(d))throw Error("Unknown directive type: "+d);var e=f[d].link,s=new c(b,f[d].template,n),e=e(s,b);b.classList.add("muu-isolate");b.classList.add("muu-initialised");n.config.debug&&(b.directive=s);e!==g&&a.destroy(b,e);return s};this.linkAll=function(a){a= -1 13 e.filter(a.querySelectorAll("muu"),function(a){return!a.classList.contains("muu-initialised")});return e.map(a,function(a){return n.link(a)})}}});k("muu-search",["muu-js-helpers"],function(d){var c={parse:function(a){var b={},c=function(a,c){b.hasOwnProperty(a)?d.isArray(b[a])?b[a].push(c):b[a]=[b[a],c]:b[a]=c};d.forEach(a.substring(1).split("&"),function(a){a=d.map(a.split("="),decodeURIComponent);2===a.length?c(a[0],a[1]):a[0]&&c(a[0],!0)});return b}},e=function(a,b){return b===g||null===b||!1=== -1 14 b?[]:d.isArray(b)?d.flatten(d.map(b,function(b){return e(a,b)})):!0===b?[encodeURIComponent(a)]:[encodeURIComponent(a)+"="+encodeURIComponent(b)]};c.unparse=function(a){if(d.isString(a))return a;var b=[],c;for(c in a)a.hasOwnProperty(c)&&(b=b.concat(e(c,a[c])));return 0<b.length?"?"+b.join("&"):""};return c});k("muu-template",["muu-js-helpers","muu-dom-helpers"],function(d,c){var e=function(a,b){return"this"===a?b:b[a]},a=function(a){if(-1===a.indexOf(":"))return function(b){return c.escapeHtml(e(a, -1 15 b)||"")};var b=d.map(a.split(","),function(a){var b=a.split(":");a=b[0].trim();b=b.slice(1).join(":").trim();return[a,b]});return function(a){var h=d.map(d.filter(b,function(b){return e(b[1],a)}),function(a){return a[0]});return c.escapeHtml(h.join(" "))}},b=function(a,b,c){var f=n(b,a);return{render:function(b){var l=e(a,b),g="";c?l||(g+=f.render(b)):d.isArray(l)?d.forEach(l,function(a){g+=f.render(a)}):l&&(g+=f.render(b));return g},afterBlock:f.afterBlock}},n=function(c,d){var e=c.indexOf("{{"); -1 16 if(-1===e){if(d===g)return{render:function(){return c},afterBlock:""};throw Error("unclosed loop: "+d);}var f=c.slice(0,e),q=c.slice(e),k=q.indexOf("}}");if(-1===k)throw Error("unclosed tag: "+q);var e=q.slice(2,k),q=q.slice(k+2),k=!0,m={render:function(){return""},afterBlock:q};if(0===e.lastIndexOf("#",0))m=b(e.substr(1),q);else if(0===e.lastIndexOf("^",0))m=b(e.substr(1),q,!0);else if(0===e.lastIndexOf("/",0)){if(k=!1,e.substr(1)!==d)throw Error("unexpected closing loop: "+e);}else 0!==e.lastIndexOf("!", -1 17 0)&&(m.render=a(e));if(k){var p=n(m.afterBlock,d);return{render:function(a){return f+m.render(a)+p.render(a)},afterBlock:p.afterBlock}}return{render:function(a){return f+m.render(a)},afterBlock:m.afterBlock}},f={};return function(a,b){f[a]===g&&(f[a]=n(a));return f[a].render(b)}});k("muu-update-dom",["muu-js-helpers"],function(d){var c=function(a,b){var c=d.map(a.attributes,function(a){return a.name}),e=d.map(b.attributes,function(a){return a.name});d.forEach(c,function(c){b.hasAttribute(c)||"__IE8__"=== -1 18 c.substr(0,7)||a.removeAttribute(c)});d.forEach(e,function(c){a.getAttribute(c)!==b.getAttribute(c)&&a.setAttribute(c,b.getAttribute(c))})},e=function(a,b){for(var g=a.childNodes.length,f=b.childNodes.length,h=f;h<g;h++)a.removeChild(a.childNodes[f]);for(h=g;h<f;h++)a.appendChild(b.childNodes[g]);for(h=0;h<g&&h<f;h++){var l=a.childNodes[h],k=b.childNodes[h];if(l.nodeType===k.nodeType&&l.nodeName===k.nodeName&&l.type===k.type){if(1===l.nodeType){var m=d.filter(l.classList,function(a){return 0===a.lastIndexOf("muu-", -1 19 0)});c(l,k);d.forEach(m,function(a){l.classList.add(a)})}else 3===l.nodeType&&(l.nodeValue=k.nodeValue);3===l.nodeType||l.classList.contains("muu-isolate")||e(l,k)}else l.parentNode.replaceChild(k,l)}};return e});k("muu",["muu-registry","muu-dom-helpers","muu-location"],function(d,c,e){var a={};a.Registry=d;a.$=c;a.$location=e;return a});return t("muu")})})(window,document,void 0);