summaryrefslogtreecommitdiffstats
path: root/slick.dataview.js
diff options
context:
space:
mode:
authorMichael Leibman <michael.leibman@gmail.com>2013-07-11 10:53:52 -0700
committerMichael Leibman <michael.leibman@gmail.com>2013-07-11 10:53:52 -0700
commit9a7e510e46452c1f5a0781d607f63566e2a65f3a (patch)
tree6996111255ce4b830b722695f8e5bd75f6e53668 /slick.dataview.js
parent5952bc6282c4d04cc893cd6319b6c80157808f95 (diff)
parentd773a09d0f7daaad8bdba6f6668a622544ee6ebf (diff)
downloadSlickGrid-9a7e510e46452c1f5a0781d607f63566e2a65f3a.zip
SlickGrid-9a7e510e46452c1f5a0781d607f63566e2a65f3a.tar.gz
SlickGrid-9a7e510e46452c1f5a0781d607f63566e2a65f3a.tar.bz2
Merge pull request #587 from pandell/fix-inline-filters
Improve `return` matching for inlined filter functions
Diffstat (limited to 'slick.dataview.js')
-rw-r--r--slick.dataview.js16
1 files changed, 8 insertions, 8 deletions
diff --git a/slick.dataview.js b/slick.dataview.js
index 45439b6..5bee4ff 100644
--- a/slick.dataview.js
+++ b/slick.dataview.js
@@ -613,10 +613,10 @@
var filterInfo = getFunctionInfo(filter);
var filterBody = filterInfo.body
- .replace(/return false[;}]/gi, "{ continue _coreloop; }")
- .replace(/return true[;}]/gi, "{ _retval[_idx++] = $item$; continue _coreloop; }")
- .replace(/return ([^;}]+?);/gi,
- "{ if ($1) { _retval[_idx++] = $item$; }; continue _coreloop; }");
+ .replace(/return false\s*([;}]|$)/gi, "{ continue _coreloop; }$1")
+ .replace(/return true\s*([;}]|$)/gi, "{ _retval[_idx++] = $item$; continue _coreloop; }$1")
+ .replace(/return ([^;}]+?)\s*([;}]|$)/gi,
+ "{ if ($1) { _retval[_idx++] = $item$; }; continue _coreloop; }$2");
// This preserves the function template code after JS compression,
// so that replace() commands still work as expected.
@@ -645,10 +645,10 @@
var filterInfo = getFunctionInfo(filter);
var filterBody = filterInfo.body
- .replace(/return false[;}]/gi, "{ continue _coreloop; }")
- .replace(/return true[;}]/gi, "{ _cache[_i] = true;_retval[_idx++] = $item$; continue _coreloop; }")
- .replace(/return ([^;}]+?);/gi,
- "{ if ((_cache[_i] = $1)) { _retval[_idx++] = $item$; }; continue _coreloop; }");
+ .replace(/return false\s*([;}]|$)/gi, "{ continue _coreloop; }$1")
+ .replace(/return true\s*([;}]|$)/gi, "{ _cache[_i] = true;_retval[_idx++] = $item$; continue _coreloop; }$1")
+ .replace(/return ([^;}]+?)\s*([;}]|$)/gi,
+ "{ if ((_cache[_i] = $1)) { _retval[_idx++] = $item$; }; continue _coreloop; }$2");
// This preserves the function template code after JS compression,
// so that replace() commands still work as expected.