Add plumbing to let InlineEditorView save without triggering events.

Review Request #13042 — Created May 11, 2023 and submitted — Latest diff uploaded

Information

Review Board
release-6.x

Reviewers

In order to make the "save before publish" operation a little more
streamlined, I'm rearranging things so that it can be somewhat less
event driven. Right now, this involves:

  1. ReviewRequestEditorView calls finishSave for each open field.
  2. The field calls InlineEditorView.submit.
  3. InlineEditorView.save triggers the "complete" event.
  4. "complete" is handled by the field view, which calls
    ReviewRequestEditor.setDraftField
  5. ReviewRequestEditor.setDraftField calls ReviewRequestDraft.save
    with the new data.
  6. As each of the fields are saved, ReviewRequestEditor is keeping
    track via a pendingSaveCount attribute, which will trigger a new
    call to publishDraft once the count is zero.

This is all unnecessarily complex, and involves making an API call per
field before we can publish, when we should be able to save all of the
data in a single go.

This change is the first step in addressing this, allowing the inline
editor to save/submit without triggering that "complete" event, and
returning the new value instead.

Ran js-tests.

Commits

Files