jquery.repeater
Advanced tools
Comparing version 1.1.5 to 1.2.0
@@ -78,2 +78,2 @@ module.exports = function (grunt) { | ||
grunt.registerTask('test', ['preprocess', 'concat', 'uglify', 'qunit']); | ||
}; | ||
}; |
@@ -1,4 +0,4 @@ | ||
// jquery.repeater version 1.1.5 | ||
// jquery.repeater version 1.2.0 | ||
// https://github.com/DubFriend/jquery.repeater | ||
// (MIT) 03-10-2016 | ||
// (MIT) 08-10-2016 | ||
// Brian Detering <BDeterin@gmail.com> (http://www.briandetering.net/) | ||
@@ -830,9 +830,8 @@ (function ($) { | ||
// if(fig.initEmpty) { | ||
// $itemTemplate.css('display', ''); | ||
// } | ||
var $firstDeleteButton = $filterNested( | ||
$filterNested($(this).find('[data-repeater-item]'), fig.repeaters) | ||
.first().find('[data-repeater-delete]'), | ||
fig.repeaters | ||
); | ||
var $firstDeleteButton = $(this).find('[data-repeater-item]').first() | ||
.find('[data-repeater-delete]'); | ||
if(fig.isFirstItemUndeletable && $firstDeleteButton) { | ||
@@ -839,0 +838,0 @@ $firstDeleteButton.remove(); |
@@ -1,5 +0,5 @@ | ||
// jquery.repeater version 1.1.5 | ||
// jquery.repeater version 1.2.0 | ||
// https://github.com/DubFriend/jquery.repeater | ||
// (MIT) 03-10-2016 | ||
// (MIT) 08-10-2016 | ||
// Brian Detering <BDeterin@gmail.com> (http://www.briandetering.net/) | ||
!function(a){"use strict";var b=function(a){return a},c=function(b){return a.isArray(b)},d=function(a){return!c(a)&&a instanceof Object},e=function(b,c){return a.inArray(c,b)},f=function(a,b){return-1!==e(a,b)},g=function(a,b){for(var c in a)a.hasOwnProperty(c)&&b(a[c],c,a)},h=function(a){return a[a.length-1]},i=function(a){return Array.prototype.slice.call(a)},j=function(){var a={};return g(i(arguments),function(b){g(b,function(b,c){a[c]=b})}),a},k=function(a,b){var c=[];return g(a,function(a,d,e){c.push(b(a,d,e))}),c},l=function(a,b,c){var d={};return g(a,function(a,e,f){e=c?c(e,a):e,d[e]=b(a,e,f)}),d},m=function(a,b,d){return c(a)?k(a,b):l(a,b,d)},n=function(a,b){return m(a,function(a){return a[b]})},o=function(a,b,c){return m(a,function(a,d){return a[b].apply(a,c||[])})},p=function(a){a=a||{};var b={};return a.publish=function(a,c){g(b[a],function(a){a(c)})},a.subscribe=function(a,c){b[a]=b[a]||[],b[a].push(c)},a.unsubscribe=function(a){g(b,function(b){var c=e(b,a);-1!==c&&b.splice(c,1)})},a};!function(a){var b=function(a,b){var c=p(),d=a.$;return c.getType=function(){throw'implement me (return type. "text", "radio", etc.)'},c.$=function(a){return a?d.find(a):d},c.disable=function(){c.$().prop("disabled",!0),c.publish("isEnabled",!1)},c.enable=function(){c.$().prop("disabled",!1),c.publish("isEnabled",!0)},b.equalTo=function(a,b){return a===b},b.publishChange=function(){var a;return function(d,e){var f=c.get();b.equalTo(f,a)||c.publish("change",{e:d,domElement:e}),a=f}}(),c},i=function(a,c){var d=b(a,c);return d.get=function(){return d.$().val()},d.set=function(a){d.$().val(a)},d.clear=function(){d.set("")},c.buildSetter=function(a){return function(b){a.call(d,b)}},d},j=function(a,b){a=c(a)?a:[a],b=c(b)?b:[b];var d=!0;return a.length!==b.length?d=!1:g(a,function(a){f(b,a)||(d=!1)}),d},k=function(a){var b={},c=i(a,b);return c.getType=function(){return"button"},c.$().on("change",function(a){b.publishChange(a,this)}),c},l=function(b){var d={},e=i(b,d);return e.getType=function(){return"checkbox"},e.get=function(){var b=[];return e.$().filter(":checked").each(function(){b.push(a(this).val())}),b},e.set=function(b){b=c(b)?b:[b],e.$().each(function(){a(this).prop("checked",!1)}),g(b,function(a){e.$().filter('[value="'+a+'"]').prop("checked",!0)})},d.equalTo=j,e.$().change(function(a){d.publishChange(a,this)}),e},m=function(a){var b={},c=x(a,b);return c.getType=function(){return"email"},c},n=function(c){var d={},e=b(c,d);return e.getType=function(){return"file"},e.get=function(){return h(e.$().val().split("\\"))},e.clear=function(){this.$().each(function(){a(this).wrap("<form>").closest("form").get(0).reset(),a(this).unwrap()})},e.$().change(function(a){d.publishChange(a,this)}),e},q=function(a){var b={},c=i(a,b);return c.getType=function(){return"hidden"},c.$().change(function(a){b.publishChange(a,this)}),c},r=function(c){var d={},e=b(c,d);return e.getType=function(){return"file[multiple]"},e.get=function(){var a,b=e.$().get(0).files||[],c=[];for(a=0;a<(b.length||0);a+=1)c.push(b[a].name);return c},e.clear=function(){this.$().each(function(){a(this).wrap("<form>").closest("form").get(0).reset(),a(this).unwrap()})},e.$().change(function(a){d.publishChange(a,this)}),e},s=function(a){var b={},d=i(a,b);return d.getType=function(){return"select[multiple]"},d.get=function(){return d.$().val()||[]},d.set=function(a){d.$().val(""===a?[]:c(a)?a:[a])},b.equalTo=j,d.$().change(function(a){b.publishChange(a,this)}),d},t=function(a){var b={},c=x(a,b);return c.getType=function(){return"password"},c},u=function(b){var c={},d=i(b,c);return d.getType=function(){return"radio"},d.get=function(){return d.$().filter(":checked").val()||null},d.set=function(b){b?d.$().filter('[value="'+b+'"]').prop("checked",!0):d.$().each(function(){a(this).prop("checked",!1)})},d.$().change(function(a){c.publishChange(a,this)}),d},v=function(a){var b={},c=i(a,b);return c.getType=function(){return"range"},c.$().change(function(a){b.publishChange(a,this)}),c},w=function(a){var b={},c=i(a,b);return c.getType=function(){return"select"},c.$().change(function(a){b.publishChange(a,this)}),c},x=function(a){var b={},c=i(a,b);return c.getType=function(){return"text"},c.$().on("change keyup keydown",function(a){b.publishChange(a,this)}),c},y=function(a){var b={},c=i(a,b);return c.getType=function(){return"textarea"},c.$().on("change keyup keydown",function(a){b.publishChange(a,this)}),c},z=function(a){var b={},c=x(a,b);return c.getType=function(){return"url"},c},A=function(b){var c={},f=b.$,h=b.constructorOverride||{button:k,text:x,url:z,email:m,password:t,range:v,textarea:y,select:w,"select[multiple]":s,radio:u,checkbox:l,file:n,"file[multiple]":r,hidden:q},i=function(b,e){var g=d(e)?e:f.find(e);g.each(function(){var d=a(this).attr("name");c[d]=h[b]({$:a(this)})})},j=function(b,i){var j=[],k=d(i)?i:f.find(i);d(i)?c[k.attr("name")]=h[b]({$:k}):(k.each(function(){-1===e(j,a(this).attr("name"))&&j.push(a(this).attr("name"))}),g(j,function(a){c[a]=h[b]({$:f.find('input[name="'+a+'"]')})}))};return f.is("input, select, textarea")?f.is('input[type="button"], button, input[type="submit"]')?i("button",f):f.is("textarea")?i("textarea",f):f.is('input[type="text"]')||f.is("input")&&!f.attr("type")?i("text",f):f.is('input[type="password"]')?i("password",f):f.is('input[type="email"]')?i("email",f):f.is('input[type="url"]')?i("url",f):f.is('input[type="range"]')?i("range",f):f.is("select")?f.is("[multiple]")?i("select[multiple]",f):i("select",f):f.is('input[type="file"]')?f.is("[multiple]")?i("file[multiple]",f):i("file",f):f.is('input[type="hidden"]')?i("hidden",f):f.is('input[type="radio"]')?j("radio",f):f.is('input[type="checkbox"]')?j("checkbox",f):i("text",f):(i("button",'input[type="button"], button, input[type="submit"]'),i("text",'input[type="text"]'),i("password",'input[type="password"]'),i("email",'input[type="email"]'),i("url",'input[type="url"]'),i("range",'input[type="range"]'),i("textarea","textarea"),i("select","select:not([multiple])"),i("select[multiple]","select[multiple]"),i("file",'input[type="file"]:not([multiple])'),i("file[multiple]",'input[type="file"][multiple]'),i("hidden",'input[type="hidden"]'),j("radio",'input[type="radio"]'),j("checkbox",'input[type="checkbox"]')),c};a.fn.inputVal=function(b){var c=a(this),d=A({$:c});return c.is("input, textarea, select")?"undefined"==typeof b?d[c.attr("name")].get():(d[c.attr("name")].set(b),c):"undefined"==typeof b?o(d,"get"):(g(b,function(a,b){d[b].set(a)}),c)},a.fn.inputOnChange=function(b){var c=a(this),d=A({$:c});return g(d,function(a){a.subscribe("change",function(a){b.call(a.domElement,a.e)})}),c},a.fn.inputDisable=function(){var b=a(this);return o(A({$:b}),"disable"),b},a.fn.inputEnable=function(){var b=a(this);return o(A({$:b}),"enable"),b},a.fn.inputClear=function(){var b=a(this);return o(A({$:b}),"clear"),b}}(jQuery),a.fn.repeaterVal=function(){var b=function(a){var b=[];return g(a,function(a,c){var d=[];"undefined"!==c&&(d.push(c.match(/^[^\[]*/)[0]),d=d.concat(m(c.match(/\[[^\]]*\]/g),function(a){return a.replace(/[\[\]]/g,"")})),b.push({val:a,key:d}))}),b},c=function(a){if(1===a.length&&(0===a[0].key.length||1===a[0].key.length&&!a[0].key[0]))return a[0].val;g(a,function(a){a.head=a.key.shift()});var b,d=function(){var b={};return g(a,function(a){b[a.head]||(b[a.head]=[]),b[a.head].push(a)}),b}();return/^[0-9]+$/.test(a[0].head)?(b=[],g(d,function(a){b.push(c(a))})):(b={},g(d,function(a,d){b[d]=c(a)})),b};return c(b(a(this).inputVal()))},a.fn.repeater=function(c){return c=c||{},a(this).each(function(){var d=a(this),e=c.show||function(){a(this).show()},f=c.hide||function(a){a()},i=d.find("[data-repeater-list]").first(),k=function(b,c){return b.filter(function(){return c?0===a(this).closest(n(c,"selector").join(",")).length:!0})},l=function(){return k(i.find("[data-repeater-item]"),c.repeaters)},o=i.find("[data-repeater-item]").first().clone().hide(),p=a(this).find("[data-repeater-item]").first().find("[data-repeater-delete]");c.isFirstItemUndeletable&&p&&p.remove();var q=function(){var a=i.data("repeater-list");return c.$parent?c.$parent.data("item-name")+"["+a+"]":a},r=function(b){c.repeaters&&b.each(function(){var b=a(this);g(c.repeaters,function(a){b.find(a.selector).repeater(j(a,{$parent:b}))})})},s=function(a,b,c){a&&g(a,function(a){c.call(b.find(a.selector)[0],a)})},t=function(b,c,d){b.each(function(b){var e=a(this);e.data("item-name",c+"["+b+"]"),k(e.find("[name]"),d).each(function(){var f=a(this),g=f.attr("name").match(/\[[^\]]+\]/g),i=g?h(g).replace(/\[|\]/g,""):f.attr("name"),j=c+"["+b+"]["+i+"]"+(f.is(":checkbox")||f.attr("multiple")?"[]":"");f.attr("name",j),s(d,e,function(d){var e=a(this);t(k(e.find("[data-repeater-item]"),d.repeaters||[]),c+"["+b+"]["+e.find("[data-repeater-list]").first().data("repeater-list")+"]",d.repeaters)})})}),i.find("input[name][checked]").removeAttr("checked").prop("checked",!0)};t(l(),q(),c.repeaters),r(l()),c.initEmpty&&l().remove(),c.ready&&c.ready(function(){t(l(),q(),c.repeaters)});var u=function(){var d=function(c,e,f){if(e){var g={};k(c.find("[name]"),f).each(function(){var b=a(this).attr("name").match(/\[([^\]]*)(\]|\]\[\])$/)[1];g[b]=a(this).attr("name")}),c.inputVal(m(e,b,function(a){return g[a]}))}s(f,c,function(b){var c=a(this);k(c.find("[data-repeater-item]"),b.repeaters).each(function(){d(a(this),b.defaultValues,b.repeaters||[])})})};return function(b){i.append(b),t(l(),q(),c.repeaters),b.find("[name]").each(function(){a(this).inputClear()}),d(b,c.defaultValues,c.repeaters)}}(),v=function(){var a=o.clone();u(a),c.repeaters&&r(a),e.call(a.get(0))};k(d.find("[data-repeater-create]"),c.repeaters).click(v),i.on("click","[data-repeater-delete]",function(){var b=a(this).closest("[data-repeater-item]").get(0);f.call(b,function(){a(b).remove(),t(l(),q(),c.repeaters)})})}),this}}(jQuery); | ||
!function(a){"use strict";var b=function(a){return a},c=function(b){return a.isArray(b)},d=function(a){return!c(a)&&a instanceof Object},e=function(b,c){return a.inArray(c,b)},f=function(a,b){return e(a,b)!==-1},g=function(a,b){for(var c in a)a.hasOwnProperty(c)&&b(a[c],c,a)},h=function(a){return a[a.length-1]},i=function(a){return Array.prototype.slice.call(a)},j=function(){var a={};return g(i(arguments),function(b){g(b,function(b,c){a[c]=b})}),a},k=function(a,b){var c=[];return g(a,function(a,d,e){c.push(b(a,d,e))}),c},l=function(a,b,c){var d={};return g(a,function(a,e,f){e=c?c(e,a):e,d[e]=b(a,e,f)}),d},m=function(a,b,d){return c(a)?k(a,b):l(a,b,d)},n=function(a,b){return m(a,function(a){return a[b]})},o=function(a,b,c){return m(a,function(a,d){return a[b].apply(a,c||[])})},p=function(a){a=a||{};var b={};return a.publish=function(a,c){g(b[a],function(a){a(c)})},a.subscribe=function(a,c){b[a]=b[a]||[],b[a].push(c)},a.unsubscribe=function(a){g(b,function(b){var c=e(b,a);c!==-1&&b.splice(c,1)})},a};!function(a){var b=function(a,b){var c=p(),d=a.$;return c.getType=function(){throw'implement me (return type. "text", "radio", etc.)'},c.$=function(a){return a?d.find(a):d},c.disable=function(){c.$().prop("disabled",!0),c.publish("isEnabled",!1)},c.enable=function(){c.$().prop("disabled",!1),c.publish("isEnabled",!0)},b.equalTo=function(a,b){return a===b},b.publishChange=function(){var a;return function(d,e){var f=c.get();b.equalTo(f,a)||c.publish("change",{e:d,domElement:e}),a=f}}(),c},i=function(a,c){var d=b(a,c);return d.get=function(){return d.$().val()},d.set=function(a){d.$().val(a)},d.clear=function(){d.set("")},c.buildSetter=function(a){return function(b){a.call(d,b)}},d},j=function(a,b){a=c(a)?a:[a],b=c(b)?b:[b];var d=!0;return a.length!==b.length?d=!1:g(a,function(a){f(b,a)||(d=!1)}),d},k=function(a){var b={},c=i(a,b);return c.getType=function(){return"button"},c.$().on("change",function(a){b.publishChange(a,this)}),c},l=function(b){var d={},e=i(b,d);return e.getType=function(){return"checkbox"},e.get=function(){var b=[];return e.$().filter(":checked").each(function(){b.push(a(this).val())}),b},e.set=function(b){b=c(b)?b:[b],e.$().each(function(){a(this).prop("checked",!1)}),g(b,function(a){e.$().filter('[value="'+a+'"]').prop("checked",!0)})},d.equalTo=j,e.$().change(function(a){d.publishChange(a,this)}),e},m=function(a){var b={},c=x(a,b);return c.getType=function(){return"email"},c},n=function(c){var d={},e=b(c,d);return e.getType=function(){return"file"},e.get=function(){return h(e.$().val().split("\\"))},e.clear=function(){this.$().each(function(){a(this).wrap("<form>").closest("form").get(0).reset(),a(this).unwrap()})},e.$().change(function(a){d.publishChange(a,this)}),e},q=function(a){var b={},c=i(a,b);return c.getType=function(){return"hidden"},c.$().change(function(a){b.publishChange(a,this)}),c},r=function(c){var d={},e=b(c,d);return e.getType=function(){return"file[multiple]"},e.get=function(){var a,b=e.$().get(0).files||[],c=[];for(a=0;a<(b.length||0);a+=1)c.push(b[a].name);return c},e.clear=function(){this.$().each(function(){a(this).wrap("<form>").closest("form").get(0).reset(),a(this).unwrap()})},e.$().change(function(a){d.publishChange(a,this)}),e},s=function(a){var b={},d=i(a,b);return d.getType=function(){return"select[multiple]"},d.get=function(){return d.$().val()||[]},d.set=function(a){d.$().val(""===a?[]:c(a)?a:[a])},b.equalTo=j,d.$().change(function(a){b.publishChange(a,this)}),d},t=function(a){var b={},c=x(a,b);return c.getType=function(){return"password"},c},u=function(b){var c={},d=i(b,c);return d.getType=function(){return"radio"},d.get=function(){return d.$().filter(":checked").val()||null},d.set=function(b){b?d.$().filter('[value="'+b+'"]').prop("checked",!0):d.$().each(function(){a(this).prop("checked",!1)})},d.$().change(function(a){c.publishChange(a,this)}),d},v=function(a){var b={},c=i(a,b);return c.getType=function(){return"range"},c.$().change(function(a){b.publishChange(a,this)}),c},w=function(a){var b={},c=i(a,b);return c.getType=function(){return"select"},c.$().change(function(a){b.publishChange(a,this)}),c},x=function(a){var b={},c=i(a,b);return c.getType=function(){return"text"},c.$().on("change keyup keydown",function(a){b.publishChange(a,this)}),c},y=function(a){var b={},c=i(a,b);return c.getType=function(){return"textarea"},c.$().on("change keyup keydown",function(a){b.publishChange(a,this)}),c},z=function(a){var b={},c=x(a,b);return c.getType=function(){return"url"},c},A=function(b){var c={},f=b.$,h=b.constructorOverride||{button:k,text:x,url:z,email:m,password:t,range:v,textarea:y,select:w,"select[multiple]":s,radio:u,checkbox:l,file:n,"file[multiple]":r,hidden:q},i=function(b,e){var g=d(e)?e:f.find(e);g.each(function(){var d=a(this).attr("name");c[d]=h[b]({$:a(this)})})},j=function(b,i){var j=[],k=d(i)?i:f.find(i);d(i)?c[k.attr("name")]=h[b]({$:k}):(k.each(function(){e(j,a(this).attr("name"))===-1&&j.push(a(this).attr("name"))}),g(j,function(a){c[a]=h[b]({$:f.find('input[name="'+a+'"]')})}))};return f.is("input, select, textarea")?f.is('input[type="button"], button, input[type="submit"]')?i("button",f):f.is("textarea")?i("textarea",f):f.is('input[type="text"]')||f.is("input")&&!f.attr("type")?i("text",f):f.is('input[type="password"]')?i("password",f):f.is('input[type="email"]')?i("email",f):f.is('input[type="url"]')?i("url",f):f.is('input[type="range"]')?i("range",f):f.is("select")?f.is("[multiple]")?i("select[multiple]",f):i("select",f):f.is('input[type="file"]')?f.is("[multiple]")?i("file[multiple]",f):i("file",f):f.is('input[type="hidden"]')?i("hidden",f):f.is('input[type="radio"]')?j("radio",f):f.is('input[type="checkbox"]')?j("checkbox",f):i("text",f):(i("button",'input[type="button"], button, input[type="submit"]'),i("text",'input[type="text"]'),i("password",'input[type="password"]'),i("email",'input[type="email"]'),i("url",'input[type="url"]'),i("range",'input[type="range"]'),i("textarea","textarea"),i("select","select:not([multiple])"),i("select[multiple]","select[multiple]"),i("file",'input[type="file"]:not([multiple])'),i("file[multiple]",'input[type="file"][multiple]'),i("hidden",'input[type="hidden"]'),j("radio",'input[type="radio"]'),j("checkbox",'input[type="checkbox"]')),c};a.fn.inputVal=function(b){var c=a(this),d=A({$:c});return c.is("input, textarea, select")?"undefined"==typeof b?d[c.attr("name")].get():(d[c.attr("name")].set(b),c):"undefined"==typeof b?o(d,"get"):(g(b,function(a,b){d[b].set(a)}),c)},a.fn.inputOnChange=function(b){var c=a(this),d=A({$:c});return g(d,function(a){a.subscribe("change",function(a){b.call(a.domElement,a.e)})}),c},a.fn.inputDisable=function(){var b=a(this);return o(A({$:b}),"disable"),b},a.fn.inputEnable=function(){var b=a(this);return o(A({$:b}),"enable"),b},a.fn.inputClear=function(){var b=a(this);return o(A({$:b}),"clear"),b}}(jQuery),a.fn.repeaterVal=function(){var b=function(a){var b=[];return g(a,function(a,c){var d=[];"undefined"!==c&&(d.push(c.match(/^[^\[]*/)[0]),d=d.concat(m(c.match(/\[[^\]]*\]/g),function(a){return a.replace(/[\[\]]/g,"")})),b.push({val:a,key:d}))}),b},c=function(a){if(1===a.length&&(0===a[0].key.length||1===a[0].key.length&&!a[0].key[0]))return a[0].val;g(a,function(a){a.head=a.key.shift()});var b,d=function(){var b={};return g(a,function(a){b[a.head]||(b[a.head]=[]),b[a.head].push(a)}),b}();return/^[0-9]+$/.test(a[0].head)?(b=[],g(d,function(a){b.push(c(a))})):(b={},g(d,function(a,d){b[d]=c(a)})),b};return c(b(a(this).inputVal()))},a.fn.repeater=function(c){return c=c||{},a(this).each(function(){var d=a(this),e=c.show||function(){a(this).show()},f=c.hide||function(a){a()},i=d.find("[data-repeater-list]").first(),k=function(b,c){return b.filter(function(){return!c||0===a(this).closest(n(c,"selector").join(",")).length})},l=function(){return k(i.find("[data-repeater-item]"),c.repeaters)},o=i.find("[data-repeater-item]").first().clone().hide(),p=k(k(a(this).find("[data-repeater-item]"),c.repeaters).first().find("[data-repeater-delete]"),c.repeaters);c.isFirstItemUndeletable&&p&&p.remove();var q=function(){var a=i.data("repeater-list");return c.$parent?c.$parent.data("item-name")+"["+a+"]":a},r=function(b){c.repeaters&&b.each(function(){var b=a(this);g(c.repeaters,function(a){b.find(a.selector).repeater(j(a,{$parent:b}))})})},s=function(a,b,c){a&&g(a,function(a){c.call(b.find(a.selector)[0],a)})},t=function(b,c,d){b.each(function(b){var e=a(this);e.data("item-name",c+"["+b+"]"),k(e.find("[name]"),d).each(function(){var f=a(this),g=f.attr("name").match(/\[[^\]]+\]/g),i=g?h(g).replace(/\[|\]/g,""):f.attr("name"),j=c+"["+b+"]["+i+"]"+(f.is(":checkbox")||f.attr("multiple")?"[]":"");f.attr("name",j),s(d,e,function(d){var e=a(this);t(k(e.find("[data-repeater-item]"),d.repeaters||[]),c+"["+b+"]["+e.find("[data-repeater-list]").first().data("repeater-list")+"]",d.repeaters)})})}),i.find("input[name][checked]").removeAttr("checked").prop("checked",!0)};t(l(),q(),c.repeaters),r(l()),c.initEmpty&&l().remove(),c.ready&&c.ready(function(){t(l(),q(),c.repeaters)});var u=function(){var d=function(c,e,f){if(e){var g={};k(c.find("[name]"),f).each(function(){var b=a(this).attr("name").match(/\[([^\]]*)(\]|\]\[\])$/)[1];g[b]=a(this).attr("name")}),c.inputVal(m(e,b,function(a){return g[a]}))}s(f,c,function(b){var c=a(this);k(c.find("[data-repeater-item]"),b.repeaters).each(function(){d(a(this),b.defaultValues,b.repeaters||[])})})};return function(b){i.append(b),t(l(),q(),c.repeaters),b.find("[name]").each(function(){a(this).inputClear()}),d(b,c.defaultValues,c.repeaters)}}(),v=function(){var a=o.clone();u(a),c.repeaters&&r(a),e.call(a.get(0))};k(d.find("[data-repeater-create]"),c.repeaters).click(v),i.on("click","[data-repeater-delete]",function(){var b=a(this).closest("[data-repeater-item]").get(0);f.call(b,function(){a(b).remove(),t(l(),q(),c.repeaters)})})}),this}}(jQuery); |
{ | ||
"name": "jquery.repeater", | ||
"version": "1.1.5", | ||
"version": "1.2.0", | ||
"description": "repeatable form input interface", | ||
@@ -29,9 +29,9 @@ "main": "jquery.repeater.js", | ||
"devDependencies": { | ||
"grunt": "^0.4.5", | ||
"grunt-contrib-concat": "^0.5.0", | ||
"grunt-contrib-qunit": "^0.5.2", | ||
"grunt-contrib-uglify": "^0.5.1", | ||
"grunt-contrib-watch": "^0.6.1", | ||
"grunt-preprocess": "^4.0.0" | ||
"grunt": "^1.0.1", | ||
"grunt-contrib-concat": "^1.0.1", | ||
"grunt-contrib-qunit": "^1.2.0", | ||
"grunt-contrib-uglify": "^2.0.0", | ||
"grunt-contrib-watch": "^1.0.0", | ||
"grunt-preprocess": "^5.1.0" | ||
} | ||
} |
{ | ||
"name": "repeater", | ||
"version": "1.1.5", | ||
"version": "1.2.0", | ||
"title": "Repeater", | ||
@@ -5,0 +5,0 @@ "author": { |
@@ -105,9 +105,8 @@ $.fn.repeaterVal = function () { | ||
// if(fig.initEmpty) { | ||
// $itemTemplate.css('display', ''); | ||
// } | ||
var $firstDeleteButton = $filterNested( | ||
$filterNested($(this).find('[data-repeater-item]'), fig.repeaters) | ||
.first().find('[data-repeater-delete]'), | ||
fig.repeaters | ||
); | ||
var $firstDeleteButton = $(this).find('[data-repeater-item]').first() | ||
.find('[data-repeater-delete]'); | ||
if(fig.isFirstItemUndeletable && $firstDeleteButton) { | ||
@@ -114,0 +113,0 @@ $firstDeleteButton.remove(); |
@@ -13,2 +13,66 @@ QUnit.module('nested-repeater', { | ||
QUnit.test('isFirstItemUndeletable configuration option', function (assert) { | ||
this.$outerRepeater.repeater({ | ||
isFirstItemUndeletable: true, | ||
repeaters: [{ | ||
selector: '.inner-repeater', | ||
isFirstItemUndeletable: true | ||
}] | ||
}); | ||
this.$outerAddButton.click(); | ||
this.$innerAddButton.click(); | ||
var $outerItems = this.$outerRepeater.find('[data-repeater-list="outer-group"] > [data-repeater-item]'); | ||
var $innerItems = this.$innerRepeater.find('[data-repeater-item]'); | ||
assert.strictEqual($outerItems.length, 2, 'adds a second item to outer list'); | ||
assert.strictEqual($innerItems.length, 2, 'adds a second item to inner list'); | ||
assert.strictEqual( | ||
// this.$outerRepeater.find('[data-repeater-list="outer-group"] > [data-repeater-item]') | ||
// .first().find('[data-repeater-delete]').length, | ||
// this.$outerRepeater.find( | ||
// '[data-repeater-list="outer-group"] > [data-repeater-item] > [data-repeater-delete]' | ||
// ).first().length, | ||
this.$outerRepeater.find('[data-repeater-item].outer') | ||
.first().find('[data-repeater-delete].outer').length, | ||
0, | ||
'No delete button on first outer item' | ||
); | ||
assert.strictEqual( | ||
this.$outerRepeater.find('[data-repeater-item].outer') | ||
.last().find('[data-repeater-delete].outer').length, | ||
1, | ||
'Delete button on second outer item' | ||
); | ||
assert.strictEqual( | ||
this.$innerRepeater.find('[data-repeater-item]') | ||
.first().find('[data-repeater-delete]').length, | ||
0, | ||
'No delete button on first inner item of first outer item' | ||
); | ||
assert.strictEqual( | ||
this.$innerRepeater.find('[data-repeater-item]') | ||
.last().find('[data-repeater-delete]').length, | ||
1, | ||
'Delete button on second inner item of first outer item' | ||
); | ||
assert.strictEqual( | ||
this.$outerRepeater.find('[data-repeater-list="inner-group"]').last() | ||
.find('[data-repeater-item]').first().find('[data-repeater-delete]').length, | ||
0, | ||
'No delete button on first inner item of second outer item' | ||
); | ||
// var $firstDeleteButton = this.$repeater.find('[data-repeater-item]') | ||
// .first().find('[data-repeater-delete]'); | ||
// assert.strictEqual($firstDeleteButton.length, 0, 'first delete button is removed'); | ||
}); | ||
QUnit.test('add item nested outer', function (assert) { | ||
@@ -15,0 +79,0 @@ this.$outerRepeater.repeater({ repeaters: [{ selector: '.inner-repeater' }] }); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
460316
13040