diff options
author | Andrew Dolgov <[email protected]> | 2018-12-04 10:19:24 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2018-12-04 10:19:24 +0300 |
commit | 4a0b644f616c096a87a1de2e697e5af9af8b1c4d (patch) | |
tree | a67f499e43697b6d7dcc7c8db334f1a176674b03 | |
parent | dcd9914079cdbf73653d8a07df283734601ae1ef (diff) |
Headlines.onRowChecked: fix possible desync in checkbox and row selected state
-rwxr-xr-x | js/Headlines.js | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/js/Headlines.js b/js/Headlines.js index fbe1bd98a..ad1d8f749 100755 --- a/js/Headlines.js +++ b/js/Headlines.js @@ -753,10 +753,19 @@ define(["dojo/_base/declare"], function (declare) { return rv; }, onRowChecked: function (elem) { - // account for dojo checkboxes - elem = elem.domNode || elem; + // do not allow unchecking active article checkbox + if (row.hasClassName("active")) { + elem.attr("checked", 1); + return; + } + + const row = elem.domNode.up("div[id*=RROW]"); - elem.up("div[id*=RROW]").toggleClassName("Selected"); + if (elem.attr("checked")) { + row.addClassName("Selected"); + } else { + row.removeClassName("Selected"); + } this.updateSelectedPrompt(); }, |