From 665327f7a44cd6217f6ac3217e71329dc4a254c8 Mon Sep 17 00:00:00 2001 From: Jarek Radosz Date: Wed, 17 Aug 2022 20:43:35 +0200 Subject: [PATCH] DEV: Clean up `loadDraft()` (#17969) --- .../discourse/app/controllers/composer.js | 48 ++++++++----------- 1 file changed, 20 insertions(+), 28 deletions(-) diff --git a/app/assets/javascripts/discourse/app/controllers/composer.js b/app/assets/javascripts/discourse/app/controllers/composer.js index 3d7a5914020..b3c0340c736 100644 --- a/app/assets/javascripts/discourse/app/controllers/composer.js +++ b/app/assets/javascripts/discourse/app/controllers/composer.js @@ -34,14 +34,8 @@ import { inject as service } from "@ember/service"; import { shortDate } from "discourse/lib/formatter"; import showModal from "discourse/lib/show-modal"; -function loadDraft(store, opts) { - let promise = Promise.resolve(); - - opts = opts || {}; - - let draft = opts.draft; - const draftKey = opts.draftKey; - const draftSequence = opts.draftSequence; +async function loadDraft(store, opts = {}) { + let { draft, draftKey, draftSequence } = opts; try { if (draft && typeof draft === "string") { @@ -51,29 +45,27 @@ function loadDraft(store, opts) { draft = null; Draft.clear(draftKey, draftSequence); } - if ( - draft && - ((draft.title && draft.title !== "") || (draft.reply && draft.reply !== "")) - ) { - const composer = store.createRecord("composer"); - const serializedFields = Composer.serializedFieldsForDraft(); - let attrs = { - draftKey, - draftSequence, - draft: true, - composerState: Composer.DRAFT, - topic: opts.topic, - }; - - serializedFields.forEach((f) => { - attrs[f] = draft[f] || opts[f]; - }); - - promise = promise.then(() => composer.open(attrs)).then(() => composer); + if (!draft?.title && !draft?.reply) { + return; } - return promise; + let attrs = { + draftKey, + draftSequence, + draft: true, + composerState: Composer.DRAFT, + topic: opts.topic, + }; + + Composer.serializedFieldsForDraft().forEach((f) => { + attrs[f] = draft[f] || opts[f]; + }); + + const composer = store.createRecord("composer"); + await composer.open(attrs); + + return composer; } const _popupMenuOptionsCallbacks = [];