2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2025-09-06 10:50:21 +08:00

DEV: Clean up loadDraft() (#17969)

This commit is contained in:
Jarek Radosz 2022-08-17 20:43:35 +02:00 committed by GitHub
parent 48e2b984fb
commit 665327f7a4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -34,14 +34,8 @@ import { inject as service } from "@ember/service";
import { shortDate } from "discourse/lib/formatter"; import { shortDate } from "discourse/lib/formatter";
import showModal from "discourse/lib/show-modal"; import showModal from "discourse/lib/show-modal";
function loadDraft(store, opts) { async function loadDraft(store, opts = {}) {
let promise = Promise.resolve(); let { draft, draftKey, draftSequence } = opts;
opts = opts || {};
let draft = opts.draft;
const draftKey = opts.draftKey;
const draftSequence = opts.draftSequence;
try { try {
if (draft && typeof draft === "string") { if (draft && typeof draft === "string") {
@ -51,12 +45,10 @@ function loadDraft(store, opts) {
draft = null; draft = null;
Draft.clear(draftKey, draftSequence); Draft.clear(draftKey, draftSequence);
} }
if (
draft && if (!draft?.title && !draft?.reply) {
((draft.title && draft.title !== "") || (draft.reply && draft.reply !== "")) return;
) { }
const composer = store.createRecord("composer");
const serializedFields = Composer.serializedFieldsForDraft();
let attrs = { let attrs = {
draftKey, draftKey,
@ -66,14 +58,14 @@ function loadDraft(store, opts) {
topic: opts.topic, topic: opts.topic,
}; };
serializedFields.forEach((f) => { Composer.serializedFieldsForDraft().forEach((f) => {
attrs[f] = draft[f] || opts[f]; attrs[f] = draft[f] || opts[f];
}); });
promise = promise.then(() => composer.open(attrs)).then(() => composer); const composer = store.createRecord("composer");
} await composer.open(attrs);
return promise; return composer;
} }
const _popupMenuOptionsCallbacks = []; const _popupMenuOptionsCallbacks = [];