Skip to content

Commit e658333

Browse files
Now a widget option may be also a function that is passed both the original Html5 node, and the replaced node, and that must return an instance specific option object. This way, each widget instance may have a different option object.
1 parent 56f0d73 commit e658333

File tree

4 files changed

+17
-15
lines changed

4 files changed

+17
-15
lines changed

bootstrap.html5.fallback.js

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,14 @@
112112
$.fn.datetimepicker.dates = $.fn.datetimepicker.dates || {};
113113
$.fn.datetimepicker.dates[culture]=res;
114114
}
115-
function getOptions(options, name){
115+
function getOptions(options, name, fNode, oNode){
116116
var userOptions=options.html5FallbackWidgets ||{};
117117
userOptions=userOptions[name] ||{};
118+
if(typeof userOptions === "function")
119+
userOptions=userOptions(fNode, oNode) || {};
118120
var res= {};
119-
for(var prop in defaults){
120-
res[prop]=userOptions[prop];;
121+
for(var prop in userOptions){
122+
res[prop]=userOptions[prop];
121123
}
122124
return res;
123125
}
@@ -192,7 +194,7 @@
192194
var enhance=handlers.enhance=handlers.enhance || {};
193195
if (enhance.date !== null)
194196
enhance.date = function (fNode, oNode) {
195-
var o = getOptions(options, "date");
197+
var o = getOptions(options, "date", fNode, oNode);
196198
o.language = culture;
197199
o.startView = 2;
198200
if (typeof o.autoclose == "undefined") o.autoclose = true;
@@ -213,7 +215,7 @@
213215
};
214216
if (enhance.week !== null)
215217
enhance.week = function(fNode, oNode){
216-
var o = getOptions(options, "week");
218+
var o = getOptions(options, "week", fNode, oNode);
217219
o.language = culture;
218220
o.startView = 2;
219221
if (typeof o.autoclose == "undefined") o.autoclose = true;
@@ -234,7 +236,7 @@
234236
};
235237
if (enhance.month !== null)
236238
enhance.month = function(fNode, oNode){
237-
var o = getOptions(options, "month");
239+
var o = getOptions(options, "month", fNode, oNode);
238240
o.language = culture;
239241
o.startView = 3;
240242
if (typeof o.autoclose == "undefined") o.autoclose = true;
@@ -255,7 +257,7 @@
255257
};
256258
if (enhance.time !== null)
257259
enhance.time = function(fNode, oNode){
258-
var o = getOptions(options, "time");
260+
var o = getOptions(options, "time", fNode, oNode);
259261
o.language = culture;
260262
o.startView = o.maxView = 1;
261263
if (typeof o.autoclose == "undefined") o.autoclose = true;
@@ -276,7 +278,7 @@
276278
};
277279
if (enhance.datetime !== null)
278280
enhance.datetime = function(fNode, oNode){
279-
var o = getOptions(options, "datetime");
281+
var o = getOptions(options, "datetime", fNode, oNode);
280282
o.language = culture;
281283
o.startView = 2;
282284
if (typeof o.autoclose == "undefined") o.autoclose = true;
@@ -298,7 +300,7 @@
298300
var humanFNFormatter = mvcct.enhancer.Globalize().numberFormatter();
299301
if (enhance.range !== null)
300302
enhance.range = function (fNode, oNode) {
301-
var o = getOptions(options, "range");
303+
var o = getOptions(options, "range", fNode, oNode);
302304
o.min= enhancer.parse("range", oNode.getAttribute("min"), true);
303305
o.max= enhancer.parse("range", oNode.getAttribute("max"), true);
304306
o.step = enhancer.parse("range", oNode.getAttribute("step"), true);
@@ -322,7 +324,7 @@
322324
};
323325
if (enhance.color !== null)
324326
enhance.color = function(fNode, oNode){
325-
var o = getOptions(options, "range");
327+
var o = getOptions(options, "range", fNode, oNode);
326328
if(typeof o.format == "undefined") o.format = "hex";
327329
var newContent;
328330
if(o.makeComponent){

bootstrap.html5.fallback.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bower.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bootstrap-html5-fallback",
3-
"version": "1.0.1",
3+
"version": "1.0.2",
44
"homepage": "https://github.com/MvcControlsToolkit/bootstrap-html5-fallback",
55
"description": "bootstrap widgets based html5 inputs fallback",
66
"main": [
@@ -21,7 +21,7 @@
2121
"polyfill"
2222
],
2323
"dependencies": {
24-
"mvcct-enhancer": ">=1.0.0",
24+
"mvcct-enhancer": ">=1.0.1",
2525
"bootstrap-colorpicker": ">=2.3.3",
2626
"smalot-bootstrap-datetimepicker": ">=2.3.10",
2727
"seiyria-bootstrap-slider": ">=7.0.3"

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bootstrap-html5-fallback",
3-
"version": "1.0.1",
3+
"version": "1.0.2",
44
"description": "bootstrap widgets based html5 inputs fallback",
55
"main": "bootstrap.html5.fallback.js",
66
"repository": {
@@ -28,7 +28,7 @@
2828
"bootstrap.html5.fallback.d.ts"
2929
],
3030
"dependencies": {
31-
"mvcct-enhancer": ">=1.0.0",
31+
"mvcct-enhancer": ">=1.0.1",
3232
"bootstrap-colorpicker": ">=2.3.3",
3333
"bootstrap-datetime-picker": ">=2.3.10",
3434
"bootstrap-slider": ">=7.0.2"

0 commit comments

Comments
 (0)