josdejong/jsoneditor

Implement a way to trigger executing onEditable again

Open

#1,261 opened on 2021年3月5日

GitHub で見る
 (2 comments) (0 reactions) (0 assignees)JavaScript (2,034 forks)batch import
featurehelp wanted

Repository metrics

Stars
 (10,781 stars)
PR merge metrics
 (平均マージ 15h 36m) (30d で 3 merged PRs)

説明

We have a case where we dynamically switch the editor from read-only to editable. However, in code or text mode this isn't applied properly because the onEditable callback is only called on creation.

https://github.com/josdejong/jsoneditor/blob/1e79ead1ec96a9acfdb8b35097595a3da5a9bacc/src/js/textmode.js#L255-L256

This is not clear from the docs:

In modes text and code, the callback is invoked as editable(node) where node is an empty object (no field, value, or path). In that case the function can return false to make the text or code editor completely read-only.

If it's not possible to handle this dynamically, having to call .refresh() to update the mode also comes a long way. Currently we recreate the editor when we want to switch from read-only to editable.

コントリビューターガイド