/*! * Repeatable list item 1.6.6 (http://n-molham.github.io/jquery.repeatable.item/) * Copyright 2014 Nabeel Molham (http://nabeel.molham.me). * Licensed under MIT License (http://opensource.org/licenses/MIT) */ !function(){"use strict";jQuery(function(a){a.fn.repeatable_item=function(b){if("object"!=typeof doT)throw"Repeatable Exception: doT.js Template engine not found, click here https://github.com/olado/doT";b=a.extend({init:function(){},completed:function(){},new_item:function(){},removed:function(){}},b);var c={clean_template_holders:function(a){var b=a.replace(/\{[a-zA-Z0-9_\-]+\}/g,"");return b=b.replace(doT.templateSettings.evaluate,""),b=b.replace(doT.templateSettings.interpolate,""),b=b.replace(doT.templateSettings.encode,""),b=b.replace(doT.templateSettings.use,""),b=b.replace(doT.templateSettings.define,""),b=b.replace(doT.templateSettings.conditional,""),b=b.replace(doT.templateSettings.iterate,"")},add_item:function(d,e,f){f=f||!1,d.settings.is_empty&&(d.settings.is_empty=!1,d.find(".repeatable-empty").remove());var g;switch(typeof f){case"boolean":g=d.item_template_dot(d.settings.defaultItem);break;case"object":g=d.item_template_dot(f);break;default:g=d.item_template.outerHTML().replace(new RegExp("{"+d.settings.valueKeyName+"}","g"),f)}g=g.replace(new RegExp("{"+d.settings.indexKeyName+"}","g"),e),g=c.clean_template_holders(g);var h=a(g).appendTo(d);d.settings.startIndex=parseInt(e)+1,d.trigger("repeatable-new-item",[d,h,e,f]),b.new_item(d,h,e,f)}};return this.each(function(d,e){var f=a(e);f.trigger("repeatable-init"),b.init(f),f.settings=a.extend({startIndex:0,templateSelector:"",indexKeyName:"index",valueKeyName:"value",addButtonLabel:"Add New",addButtonClass:"btn btn-primary",wrapperClass:"repeatable-wrapper",confirmRemoveMessage:"Are Your Sure ?",confirmRemove:"no",emptyListMessage:"
  • No Items Found
  • ",defaultItem:{},values:[],is_empty:!0},f.data()),f.wrap('
    ');var g=parseInt(f.settings.startIndex);if(""==f.settings.templateSelector)f.item_template=f.find("> [data-template=yes]").removeAttr("data-template").remove();else try{f.item_template=a(a(f.settings.templateSelector).html())}catch(h){throw"Repeatable Exception: Invalid item template selector <"+f.settings.templateSelector+">"}if(1!==f.item_template.size())throw"Repeatable Exception: Template item not found.";if(f.item_template_dot=doT.template(f.item_template.outerHTML()),f.item_template.remove_selector=f.item_template.prop("tagName").toLowerCase(),f.item_template.is("[class]")&&(f.item_template.remove_selector+='[class*="'+f.item_template.prop("className")+'"]'),f.add_new_btn=a('

    '+f.settings.addButtonLabel+"

    ").insertAfter(f).on("click repeatable-add-click","a",function(a){a.preventDefault(),c.add_item(f,f.settings.startIndex)}),"object"==typeof f.settings.values){var i=[];if(a.each(f.settings.values,function(a,b){"undefined"!=typeof b.order_index&&(a=parseInt(b.order_index)),i.push(a),c.add_item(f,a,b),f.settings.is_empty=!1}),i.length){var j=Math.max.apply(Math,i);f.settings.startIndex=(j>g?j:g)+1}}f.settings.is_empty&&f.settings.emptyListMessage.length&&("item"==f.settings.emptyListMessage?f.add_new_btn.trigger("repeatable-add-click"):f.append(a(f.settings.emptyListMessage).addClass("repeatable-empty"))),f.on("click","[data-remove=yes]",function(c){if(c.preventDefault(),"yes"==f.settings.confirmRemove&&!confirm(f.settings.confirmRemoveMessage))return!1;var d=a(c.currentTarget).closest(f.item_template.remove_selector).remove();f.trigger("repeatable-removed",[f,d]),b.removed(f,d)}),f.trigger("repeatable-completed",[f]),b.completed(f)}),this},a.fn.outerHTML||(a.fn.outerHTML=function(){return a("
    ").append(this.eq(0).clone()).html()})})}(window);