Skip to content

Commit 3d913ce

Browse files
committed
getting numericString extender definition from ecodata-client-plugin
1 parent a8880e4 commit 3d913ce

File tree

3 files changed

+2
-34
lines changed

3 files changed

+2
-34
lines changed

grails-app/assets/javascripts/common-bs4.js

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
//= require knockout-dates.js
1818
//= require knockout-custom-bindings.js
1919
//= require knockout-custom-extenders.js
20+
//= require knockout-utils.js
2021
//= require wmd/wmd.js
2122
//= require wmd/showdown.js
2223
//= require pagination.js

grails-app/assets/javascripts/common.js

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
//= require knockout-dates.js
1818
//= require knockout-custom-bindings.js
1919
//= require knockout-custom-extenders.js
20+
//= require knockout-utils.js
2021
//= require wmd/wmd.js
2122
//= require wmd/showdown.js
2223
//= require pagination.js

grails-app/assets/javascripts/knockout-custom-extenders.js

-34
Original file line numberDiff line numberDiff line change
@@ -48,39 +48,6 @@ ko.extenders.integer = function(target, options) {
4848
return target;
4949
};
5050

51-
ko.extenders.numericString = function(target, precision) {
52-
//create a writable computed observable to intercept writes to our observable
53-
var result = ko.computed({
54-
read: target, //always return the original observables value
55-
write: function(newValue) {
56-
var val = newValue;
57-
if (typeof val === 'string') {
58-
val = newValue.replace(/,|\$/g, '');
59-
}
60-
var current = target(),
61-
roundingMultiplier = Math.pow(10, precision),
62-
newValueAsNum = isNaN(val) ? 0 : parseFloat(+val),
63-
valueToWrite = Math.round(newValueAsNum * roundingMultiplier) / roundingMultiplier;
64-
65-
//only write if it changed
66-
if (valueToWrite.toString() !== current || isNaN(val)) {
67-
target(isNaN(val) ? newValue : valueToWrite.toString());
68-
}
69-
else {
70-
if (newValue !== current) {
71-
target.notifySubscribers(valueToWrite.toString());
72-
}
73-
}
74-
}
75-
}).extend({ notify: 'always' });
76-
77-
//initialize with current value to make sure it is rounded appropriately
78-
result(target());
79-
80-
//return the new computed observable
81-
return result;
82-
};
83-
8451
ko.extenders.url = function(target) {
8552
var result = ko.pureComputed({
8653
read:target,
@@ -118,7 +85,6 @@ ko.extenders.markdown = function(target, options) {
11885
return target;
11986
};
12087

121-
12288
// handles simple or deferred computed objects
12389
// see activity/edit.gsp for an example of use
12490
ko.extenders.async = function(computedDeferred, initialValue) {

0 commit comments

Comments
 (0)