diff --git a/bootstrap.html5.fallback.js b/bootstrap.html5.fallback.js
index 7bccb7a..3ed405c 100644
--- a/bootstrap.html5.fallback.js
+++ b/bootstrap.html5.fallback.js
@@ -112,12 +112,14 @@
$.fn.datetimepicker.dates = $.fn.datetimepicker.dates || {};
$.fn.datetimepicker.dates[culture]=res;
}
- function getOptions(options, name){
+ function getOptions(options, name, fNode, oNode){
var userOptions=options.html5FallbackWidgets ||{};
userOptions=userOptions[name] ||{};
+ if(typeof userOptions === "function")
+ userOptions=userOptions(fNode, oNode) || {};
var res= {};
- for(var prop in defaults){
- res[prop]=userOptions[prop];;
+ for(var prop in userOptions){
+ res[prop]=userOptions[prop];
}
return res;
}
@@ -192,7 +194,7 @@
var enhance=handlers.enhance=handlers.enhance || {};
if (enhance.date !== null)
enhance.date = function (fNode, oNode) {
- var o = getOptions(options, "date");
+ var o = getOptions(options, "date", fNode, oNode);
o.language = culture;
o.startView = 2;
if (typeof o.autoclose == "undefined") o.autoclose = true;
@@ -213,7 +215,7 @@
};
if (enhance.week !== null)
enhance.week = function(fNode, oNode){
- var o = getOptions(options, "week");
+ var o = getOptions(options, "week", fNode, oNode);
o.language = culture;
o.startView = 2;
if (typeof o.autoclose == "undefined") o.autoclose = true;
@@ -234,7 +236,7 @@
};
if (enhance.month !== null)
enhance.month = function(fNode, oNode){
- var o = getOptions(options, "month");
+ var o = getOptions(options, "month", fNode, oNode);
o.language = culture;
o.startView = 3;
if (typeof o.autoclose == "undefined") o.autoclose = true;
@@ -255,7 +257,7 @@
};
if (enhance.time !== null)
enhance.time = function(fNode, oNode){
- var o = getOptions(options, "time");
+ var o = getOptions(options, "time", fNode, oNode);
o.language = culture;
o.startView = o.maxView = 1;
if (typeof o.autoclose == "undefined") o.autoclose = true;
@@ -276,7 +278,7 @@
};
if (enhance.datetime !== null)
enhance.datetime = function(fNode, oNode){
- var o = getOptions(options, "datetime");
+ var o = getOptions(options, "datetime", fNode, oNode);
o.language = culture;
o.startView = 2;
if (typeof o.autoclose == "undefined") o.autoclose = true;
@@ -298,7 +300,7 @@
var humanFNFormatter = mvcct.enhancer.Globalize().numberFormatter();
if (enhance.range !== null)
enhance.range = function (fNode, oNode) {
- var o = getOptions(options, "range");
+ var o = getOptions(options, "range", fNode, oNode);
o.min= enhancer.parse("range", oNode.getAttribute("min"), true);
o.max= enhancer.parse("range", oNode.getAttribute("max"), true);
o.step = enhancer.parse("range", oNode.getAttribute("step"), true);
@@ -322,7 +324,7 @@
};
if (enhance.color !== null)
enhance.color = function(fNode, oNode){
- var o = getOptions(options, "range");
+ var o = getOptions(options, "range", fNode, oNode);
if(typeof o.format == "undefined") o.format = "hex";
var newContent;
if(o.makeComponent){
diff --git a/bootstrap.html5.fallback.min.js b/bootstrap.html5.fallback.min.js
index 49f2650..afbf3c5 100644
--- a/bootstrap.html5.fallback.min.js
+++ b/bootstrap.html5.fallback.min.js
@@ -1 +1 @@
-!function(e){function t(e){function t(e){return"string"==typeof e?e:"number"==typeof e?""+e:JSON.stringify(e)}function a(e,a){return e=e.replace(/{[0-9a-zA-Z-_. ]+}/g,function(e){return e=e.replace(/^{([^}]*)}$/,"$1"),t(a[e])})}function r(e,t,r){return a(m.dates.calendars.gregorian.dateTimeFormats[e],[r,t])}var n,i,o,d,c,s,m,u,l;switch(u=mvcct.enhancer,s=u.Globalize(),l=s.locale().attributes.language,m=s.cldr.get("main/"+l),!0){case"skeleton"in e:o=e.skeleton,i=m.dates.calendars.gregorian.dateTimeFormats.availableFormats[o],i||(d=o.split(/[^hHKkmsSAzZOvVXx]/).slice(-1)[0],n=o.split(/[^GyYuUrQqMLlwWdDFgEec]/)[0],c=/(MMMM|LLLL).*[Ec]/.test(n)?"full":/MMMM/g.test(n)?"long":/MMM/g.test(n)||/LLL/g.test(n)?"medium":"short",i=r(c,m.dates.calendars.gregorian.dateTimeFormats.availableFormats[n],m.dates.calendars.gregorian.dateTimeFormats.availableFormats[d]));break;case"date"in e:case"time"in e:i=m.dates.calendars.gregorian["date"in e?"dateFormats":"timeFormats"][e.date||e.time];break;case"datetime"in e:i=r(e.datetime,m.dates.calendars.gregorian.dateFormats[e.datetime],m.dates.calendars.gregorian.timeFormats[e.datetime]);break;case"raw"in e:i=e.raw;break;default:i=null}return i}function a(t){var a=mvcct.enhancer,r=a.Globalize();t=t||r.locale().attributes.language;var n=t.length>2?t.substring(3):t.toUpperCase(),i=r.cldr.get("main/"+t),d=r.cldr.get("supplemental"),c=i.dates.calendars.gregorian.months.format,s=i.dates.calendars.gregorian.days.format,m=i.dates.calendars.gregorian.dayPeriods.format.abbreviated,u=r(t).messageFormatter,l={days:[s.wide.sun,s.wide.mon,s.wide.tue,s.wide.wed,s.wide.thu,s.wide.fri,s.wide.sat,s.wide.sun],daysShort:[s.abbreviated.sun,s.abbreviated.mon,s.abbreviated.tue,s.abbreviated.wed,s.abbreviated.thu,s.abbreviated.fri,s.abbreviated.sat,s.abbreviated.sun],daysMin:[s.narrow.sun,s.narrow.mon,s.narrow.tue,s.narrow.wed,s.narrow.thu,s.narrow.fri,s.narrow.sat,s.narrow.sun],months:[c.wide[1],c.wide[2],c.wide[3],c.wide[4],c.wide[5],c.wide[6],c.wide[7],c.wide[8],c.wide[9],c.wide[10],c.wide[11],c.wide[12]],monthsShort:[c.abbreviated[1],c.abbreviated[2],c.abbreviated[3],c.abbreviated[4],c.abbreviated[5],c.abbreviated[6],c.abbreviated[7],c.abbreviated[8],c.abbreviated[9],c.abbreviated[10],c.abbreviated[11],c.abbreviated[12]],meridiem:[m.am,m.pm],weekStart:o[d.weekData.firstDay[n]],today:i.dates.fields.day["relative-type-0"],rtl:"right-to-left"==i.layout.orientation.characterOrder,clear:u?u("generic/clear"):void 0};e.fn.datetimepicker.dates=e.fn.datetimepicker.dates||{},e.fn.datetimepicker.dates[t]=l}function r(e,t){var a=e.html5FallbackWidgets||{};a=a[t]||{};var r={};for(var n in d)r[n]=a[n];return r}function n(e){var t,a,r,n="";for(x=0;x').insertAfter(d),d.remove(),o.prepend(d)}else o=e(t);o.colorpicker(n).on("showPicker",function(){o.colorpicker("setValue",t.value)})})}var o={sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6},d={dateFormat:{date:"short"},timeFormat:{skeleton:"Hms"},timeFormat1:{skeleton:"Hms"},datetimeFormat:{datetime:"short"},datetimeFormat1:{datetime:"short"},monthFormat:{date:"short"},weekFormat:{date:"short"}},s=mvcct.enhancer.addBasicInput;mvcct.enhancer.addBasicInput=function(e){s(e),mvcct.enhancer.register(null,!1,null,"html5 bootstrap/widgets fallback",i)}}(jQuery);
\ No newline at end of file
+!function(e){function t(e){function t(e){return"string"==typeof e?e:"number"==typeof e?""+e:JSON.stringify(e)}function a(e,a){return e=e.replace(/{[0-9a-zA-Z-_. ]+}/g,function(e){return e=e.replace(/^{([^}]*)}$/,"$1"),t(a[e])})}function r(e,t,r){return a(m.dates.calendars.gregorian.dateTimeFormats[e],[r,t])}var n,i,o,d,c,s,m,u,l;switch(u=mvcct.enhancer,s=u.Globalize(),l=s.locale().attributes.language,m=s.cldr.get("main/"+l),!0){case"skeleton"in e:o=e.skeleton,i=m.dates.calendars.gregorian.dateTimeFormats.availableFormats[o],i||(d=o.split(/[^hHKkmsSAzZOvVXx]/).slice(-1)[0],n=o.split(/[^GyYuUrQqMLlwWdDFgEec]/)[0],c=/(MMMM|LLLL).*[Ec]/.test(n)?"full":/MMMM/g.test(n)?"long":/MMM/g.test(n)||/LLL/g.test(n)?"medium":"short",i=r(c,m.dates.calendars.gregorian.dateTimeFormats.availableFormats[n],m.dates.calendars.gregorian.dateTimeFormats.availableFormats[d]));break;case"date"in e:case"time"in e:i=m.dates.calendars.gregorian["date"in e?"dateFormats":"timeFormats"][e.date||e.time];break;case"datetime"in e:i=r(e.datetime,m.dates.calendars.gregorian.dateFormats[e.datetime],m.dates.calendars.gregorian.timeFormats[e.datetime]);break;case"raw"in e:i=e.raw;break;default:i=null}return i}function a(t){var a=mvcct.enhancer,r=a.Globalize();t=t||r.locale().attributes.language;var n=t.length>2?t.substring(3):t.toUpperCase(),i=r.cldr.get("main/"+t),d=r.cldr.get("supplemental"),c=i.dates.calendars.gregorian.months.format,s=i.dates.calendars.gregorian.days.format,m=i.dates.calendars.gregorian.dayPeriods.format.abbreviated,u=r(t).messageFormatter,l={days:[s.wide.sun,s.wide.mon,s.wide.tue,s.wide.wed,s.wide.thu,s.wide.fri,s.wide.sat,s.wide.sun],daysShort:[s.abbreviated.sun,s.abbreviated.mon,s.abbreviated.tue,s.abbreviated.wed,s.abbreviated.thu,s.abbreviated.fri,s.abbreviated.sat,s.abbreviated.sun],daysMin:[s.narrow.sun,s.narrow.mon,s.narrow.tue,s.narrow.wed,s.narrow.thu,s.narrow.fri,s.narrow.sat,s.narrow.sun],months:[c.wide[1],c.wide[2],c.wide[3],c.wide[4],c.wide[5],c.wide[6],c.wide[7],c.wide[8],c.wide[9],c.wide[10],c.wide[11],c.wide[12]],monthsShort:[c.abbreviated[1],c.abbreviated[2],c.abbreviated[3],c.abbreviated[4],c.abbreviated[5],c.abbreviated[6],c.abbreviated[7],c.abbreviated[8],c.abbreviated[9],c.abbreviated[10],c.abbreviated[11],c.abbreviated[12]],meridiem:[m.am,m.pm],weekStart:o[d.weekData.firstDay[n]],today:i.dates.fields.day["relative-type-0"],rtl:"right-to-left"==i.layout.orientation.characterOrder,clear:u?u("generic/clear"):void 0};e.fn.datetimepicker.dates=e.fn.datetimepicker.dates||{},e.fn.datetimepicker.dates[t]=l}function r(e,t,a,r){var n=e.html5FallbackWidgets||{};n=n[t]||{},"function"==typeof n&&(n=n(a,r)||{});var i={};for(var o in n)i[o]=n[o];return i}function n(e){var t,a,r,n="";for(x=0;x').insertAfter(d),d.remove(),o.prepend(d)}else o=e(t);o.colorpicker(n).on("showPicker",function(){o.colorpicker("setValue",t.value)})})}var o={sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6},d={dateFormat:{date:"short"},timeFormat:{skeleton:"Hms"},timeFormat1:{skeleton:"Hms"},datetimeFormat:{datetime:"short"},datetimeFormat1:{datetime:"short"},monthFormat:{date:"short"},weekFormat:{date:"short"}},s=mvcct.enhancer.addBasicInput;mvcct.enhancer.addBasicInput=function(e){s(e),mvcct.enhancer.register(null,!1,null,"html5 bootstrap/widgets fallback",i)}}(jQuery);
\ No newline at end of file
diff --git a/bower.json b/bower.json
index 457b7fa..0c7deae 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,6 @@
{
"name": "bootstrap-html5-fallback",
- "version": "1.0.1",
+ "version": "1.0.2",
"homepage": "https://github.com/MvcControlsToolkit/bootstrap-html5-fallback",
"description": "bootstrap widgets based html5 inputs fallback",
"main": [
@@ -21,7 +21,7 @@
"polyfill"
],
"dependencies": {
- "mvcct-enhancer": ">=1.0.0",
+ "mvcct-enhancer": ">=1.0.1",
"bootstrap-colorpicker": ">=2.3.3",
"smalot-bootstrap-datetimepicker": ">=2.3.10",
"seiyria-bootstrap-slider": ">=7.0.3"
diff --git a/package.json b/package.json
index fd02cf1..78617a1 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "bootstrap-html5-fallback",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "bootstrap widgets based html5 inputs fallback",
"main": "bootstrap.html5.fallback.js",
"repository": {
@@ -28,7 +28,7 @@
"bootstrap.html5.fallback.d.ts"
],
"dependencies": {
- "mvcct-enhancer": ">=1.0.0",
+ "mvcct-enhancer": ">=1.0.1",
"bootstrap-colorpicker": ">=2.3.3",
"bootstrap-datetime-picker": ">=2.3.10",
"bootstrap-slider": ">=7.0.2"