diff options
author | Armen Kesablyan | 2012-02-13 13:36:52 -0800 |
---|---|---|
committer | Armen Kesablyan | 2012-02-13 13:36:52 -0800 |
commit | da32190d5dd91fa2c26f8cabb746980c3d06035c (patch) | |
tree | d923299208c84b1071b58e7eb9c0515b2e1c844a /js/lib/NJUtils.js | |
parent | 36cefa3526988cb4dfea107fedaa954a2703260d (diff) | |
parent | 90d0c8c0e98d062c628c061fe5765ce991fda409 (diff) | |
download | ninja-da32190d5dd91fa2c26f8cabb746980c3d06035c.tar.gz |
Merge branch 'refs/heads/master' into text-tool
Diffstat (limited to 'js/lib/NJUtils.js')
-rw-r--r-- | js/lib/NJUtils.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/js/lib/NJUtils.js b/js/lib/NJUtils.js index d6548871..0e886ae7 100644 --- a/js/lib/NJUtils.js +++ b/js/lib/NJUtils.js | |||
@@ -183,6 +183,27 @@ exports.NJUtils = Object.create(Object.prototype, { | |||
183 | 183 | ||
184 | }, | 184 | }, |
185 | 185 | ||
186 | // Returns the numerical value and unit string from a string. | ||
187 | // Useful for element properties. | ||
188 | // 100px will return the following array: [100, px] | ||
189 | getValueAndUnits: { | ||
190 | value: function(input) { | ||
191 | var numberValue = parseFloat(input); | ||
192 | |||
193 | // Ignore all whitespace, digits, negative sign and "." when looking for units label | ||
194 | // The units must come after one or more digits | ||
195 | var objRegExp = /(\-*\d+\.*\d*)(\s*)(\w*\%*)/; | ||
196 | var unitsString = input.replace(objRegExp, "$3"); | ||
197 | if(unitsString) { | ||
198 | var noSpaces = /(\s*)(\S*)(\s*)/; | ||
199 | // strip out spaces and convert to lower case | ||
200 | var match = (unitsString.replace(noSpaces, "$2")).toLowerCase(); | ||
201 | } | ||
202 | |||
203 | return [numberValue, match]; | ||
204 | } | ||
205 | }, | ||
206 | |||
186 | /* ================= Style methods ================= */ | 207 | /* ================= Style methods ================= */ |
187 | 208 | ||
188 | ///// Get computed height of element | 209 | ///// Get computed height of element |