From 18eddc962418a045524a740061625834a77153d8 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 6 Aug 2020 16:16:31 +0200 Subject: [PATCH] luci-base: ui.js: implement AbstractElement.isChanged() The new `isChanged()` utility functions allows to query the dirty state of an ui input widget. Signed-off-by: Jo-Philipp Wich --- .../luci-base/htdocs/luci-static/resources/ui.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/modules/luci-base/htdocs/luci-static/resources/ui.js b/modules/luci-base/htdocs/luci-static/resources/ui.js index 7823182f04..77074d5075 100644 --- a/modules/luci-base/htdocs/luci-static/resources/ui.js +++ b/modules/luci-base/htdocs/luci-static/resources/ui.js @@ -127,6 +127,21 @@ var UIElement = baseclass.extend(/** @lends LuCI.ui.AbstractElement.prototype */ } }, + /** + * Check whether the input value was altered by the user. + * + * @instance + * @memberof LuCI.ui.AbstractElement + * @returns {boolean} + * Returns `true` if the input value has been altered by the user or + * `false` if it is unchaged. Note that if the user modifies the initial + * value and changes it back to the original state, it is still reported + * as changed. + */ + isChanged: function() { + return (this.node ? this.node.getAttribute('data-changed') : null) == 'true'; + }, + /** * Check whether the current input value is valid. * -- 2.30.2