var formatNumber = function (element, valueAccessor, allBindingsAccessor, format) {
|
// Provide a custom text value
|
var value = valueAccessor(), allBindings = allBindingsAccessor();
|
var numeralFormat = allBindingsAccessor.numeralFormat || format;
|
var strNumber = ko.utils.unwrapObservable(value);
|
if (strNumber) {
|
return numeral(strNumber).format(numeralFormat);
|
}
|
return '';
|
};
|
|
ko.bindingHandlers.numeraltext = {
|
init: function (element, valueAccessor, allBindingsAccessor) {
|
$(element).text(formatNumber(element, valueAccessor, allBindingsAccessor, "(0,0.00)"));
|
},
|
update: function (element, valueAccessor, allBindingsAccessor) {
|
$(element).text(formatNumber(element, valueAccessor, allBindingsAccessor, "(0,0.00)"));
|
}
|
};
|
|
ko.bindingHandlers.numeralvalue = {
|
init: function (element, valueAccessor, allBindingsAccessor) {
|
$(element).val(formatNumber(element, valueAccessor, allBindingsAccessor, "(0,0.00)"));
|
|
//handle the field changing
|
ko.utils.registerEventHandler(element, "change", function () {
|
var observable = valueAccessor();
|
observable($(element).val());
|
});
|
},
|
update: function (element, valueAccessor, allBindingsAccessor) {
|
$(element).val(formatNumber(element, valueAccessor, allBindingsAccessor, "(0,0.00)"));
|
}
|
};
|
|
ko.bindingHandlers.percenttext = {
|
init: function (element, valueAccessor, allBindingsAccessor) {
|
$(element).text(formatNumber(element, valueAccessor, allBindingsAccessor, "(0.000 %)"));
|
},
|
update: function (element, valueAccessor, allBindingsAccessor) {
|
$(element).text(formatNumber(element, valueAccessor, allBindingsAccessor, "(0.000 %)"));
|
}
|
};
|
|
ko.bindingHandlers.percentvalue = {
|
init: function (element, valueAccessor, allBindingsAccessor) {
|
$(element).val(formatNumber(element, valueAccessor, allBindingsAccessor, "(0.000 %)"));
|
|
//handle the field changing
|
ko.utils.registerEventHandler(element, "change", function () {
|
var observable = valueAccessor();
|
observable($(element).val());
|
});
|
},
|
update: function (element, valueAccessor, allBindingsAccessor) {
|
$(element).val(formatNumber(element, valueAccessor, allBindingsAccessor, "(0.000 %)"));
|
}
|
};
|