Add plumbing to let InlineEditorView save without triggering events.

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

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.

Summary ID
Add plumbing to let InlineEditorView save without triggering events.
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.
3aa884d0a55b4af94f146074fd9eaa2656f7d268
maubin
  1. Ship It!
  2. 
      
david
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to release-6.x (3d0b659)
Loading...