From 572090101db2afc621d2d18ef3e3d6a86202a406 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Mon, 3 Aug 2020 14:39:40 +0200 Subject: [PATCH] luci-base: form.js: add ability to specify regular expression dependencies Signed-off-by: Jo-Philipp Wich --- .../luci-base/htdocs/luci-static/resources/form.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/modules/luci-base/htdocs/luci-static/resources/form.js b/modules/luci-base/htdocs/luci-static/resources/form.js index 89d92c8f9d..d5e3e941ab 100644 --- a/modules/luci-base/htdocs/luci-static/resources/form.js +++ b/modules/luci-base/htdocs/luci-static/resources/form.js @@ -1132,6 +1132,9 @@ var CBIAbstractSection = CBIAbstractElement.extend(/** @lends LuCI.form.Abstract var isEqual = function(x, y) { + if (typeof(y) == 'object' && y instanceof RegExp) + return (x == null) ? false : y.test(x); + if (x != null && y != null && typeof(x) != typeof(y)) return false; @@ -1428,6 +1431,10 @@ var CBIAbstractValue = CBIAbstractElement.extend(/** @lends LuCI.form.AbstractVa * Equivalent to the previous example. * *
  • + * opt.depends({ foo: /test/ })
    + * Require the value of `foo` to match the regular expression `/test/`. + *
  • + *
  • * opt.depends({ foo: "test", bar: "qrx" })
    * Require the value of `foo` to be `test` and the value of `bar` to be * `qrx`. @@ -1449,11 +1456,11 @@ var CBIAbstractValue = CBIAbstractElement.extend(/** @lends LuCI.form.AbstractVa *
  • * * - * @param {string|Object} optionname_or_depends + * @param {string|Object} optionname_or_depends * The name of the option to depend on or an object describing multiple * dependencies which must be satified (a logical "and" expression). * - * @param {string} optionvalue + * @param {string} optionvalue|RegExp * When invoked with a plain option name as first argument, this parameter * specifies the expected value. In case an object is passed as first * argument, this parameter is ignored. -- 2.30.2