From 89f93a063e9f5ecb0099b26de7908fbf0a5bc709 Mon Sep 17 00:00:00 2001 From: Kartik Visweswaran Date: Mon, 26 Oct 2015 22:39:54 +0530 Subject: [PATCH] Fix #30: Better validation for undefined groups key param --- CHANGE.md | 41 ++++++++++++++++++++++-------------- js/dependent-dropdown.js | 7 ++++-- js/dependent-dropdown.min.js | 2 +- 3 files changed, 31 insertions(+), 19 deletions(-) diff --git a/CHANGE.md b/CHANGE.md index 44d370f..59a3890 100644 --- a/CHANGE.md +++ b/CHANGE.md @@ -1,19 +1,28 @@ -version 1.4.3 -============= +Change Log: `dependent-dropdown` +================================ + +## Version 1.4.4 + +**Date:** 26-Oct-2015 + +1. (enh #30): Better validation for undefined groups key param. + +## Version 1.4.3 + **Date:** 14-Jul-2015 1. (enh #27): Better validation for value selected. 2. (enh #28): Ability to configure HTML attributes for each option element via ajax. -version 1.4.2 -============= +## Version 1.4.2 + **Date:** 18-Jun-2015 1. (enh #23): New property `initDepends` to set all dependent parents in the chain. 2. (enh #24): Enhancement for Select2 plugin. -version 1.4.1 -============= +## Version 1.4.1 + **Date:** 22-May-2015 1. (enh #19): New `depdrop_all_params` that will be sent as an associative array (keys & values) to the server ajax action. @@ -21,8 +30,8 @@ version 1.4.1 3. (bug kartik-v/yii2-widget-depdrop#10): Fix process dependency params. 4. (enh #22): Fixes for JQuery v2.1.4 & Select2. -version 1.4.0 -============= +## Version 1.4.0 + **Date:** 01-Feb-2015 1. Updated trigger of afterChange event @@ -32,21 +41,21 @@ version 1.4.0 5. (enh #15): Implement reusable constructor for extending plugin if needed. 6. (enh #16): Enhance Select2 dropdowns to show loading indicator. -version 1.3.0 -============= +## Version 1.3.0 + **Date:** 08-Nov-2014 1. Set release to stable in composer.json. 2. Updated CHANGE log to reflect user friendly date time formats. -version 1.2.0 -============= +## Version 1.2.0 + **Date:** 02-Jul-2014 - Enh #8: Ability to pass additional form input data within each ajax call. -version 1.1.0 -============= +## Version 1.1.0 + **Date:** 05-May-2014 - Updated placeholder to accept boolean value (false) to disable it. @@ -54,8 +63,8 @@ version 1.1.0 - Added support for plugin to work with other plugins like Select2. -version 1.0.0 -============= +## Version 1.0.0 + **Date:** 30-Apr-2014 Initial release. diff --git a/js/dependent-dropdown.js b/js/dependent-dropdown.js index 87bb314..e1624ce 100644 --- a/js/dependent-dropdown.js +++ b/js/dependent-dropdown.js @@ -20,7 +20,7 @@ if (sel !== null && sel.length && id.toString() === sel) { settings.selected = "selected"; } - $("")},success:function(n){l=t(n.selected)?u.initVal===!1?null:u.initVal:n.selected,t(n)?a(d,"",V,""):(d.html(u.getSelect(n.output,x,l)),d.find("optgroup").length>0&&d.find('option[value=""]').attr("disabled","disabled"),n.output&&d.removeAttr("disabled")),f=d.find("option").length,d.find('option[value=""]').length>0&&(f-=1),d.trigger("depdrop.change",[i,e("#"+i).val(),f,u.initVal])},error:function(){d.trigger("depdrop.error",[i,e("#"+i).val(),u.initVal])},complete:function(){C&&d.removeClass(D),d.trigger("depdrop.afterChange",[i,e("#"+i).val(),u.initVal])}},e.ajax(p)},getSelect:function(n,d,i){var o,r=this,l=e(""),p=r.idParam,s=r.nameParam;return d!==!1&&a(l,"",d,i),t(n)&&(n={}),e.each(n,function(t,n){if("undefined"!=typeof n[p])o=n.options||{},a(l,n[p],n[s],i,o);else{var d=e("",{label:t});e.each(n,function(e,t){o=t.options||{},a(d,t[p],t[s],i)}),d.appendTo(l)}}),l.html()}},e.fn.depdrop=function(t){var a=Array.apply(null,arguments);return a.shift(),this.each(function(){var n=e(this),i=n.data("depdrop"),o="object"==typeof t&&t;i||(i=new d(this,e.extend({},e.fn.depdrop.defaults,o,e(this).data())),n.data("depdrop",i)),"string"==typeof t&&i[t].apply(i,a)})},e.fn.depdrop.defaults={url:"",loading:!0,loadingClass:"kv-loading",loadingText:"Loading ...",placeholder:"Select ...",emptyMsg:"No data found",initialize:!1,idParam:"id",nameParam:"name",params:{}},e.fn.depdrop.Constructor=d,e(function(){e("select.depdrop").depdrop()})}(window.jQuery); \ No newline at end of file