Save unpublished news articles (#31491)

* Add draft saving to news consoles

* fix after bui changes

* comments + rename vars

* no
This commit is contained in:
themias
2024-09-09 15:38:49 -04:00
committed by GitHub
parent f91672974c
commit ec4d59f608
8 changed files with 87 additions and 6 deletions

View File

@@ -51,6 +51,8 @@ public sealed class NewsSystem : SharedNewsSystem
subs.Event<NewsWriterDeleteMessage>(OnWriteUiDeleteMessage);
subs.Event<NewsWriterArticlesRequestMessage>(OnRequestArticlesUiMessage);
subs.Event<NewsWriterPublishMessage>(OnWriteUiPublishMessage);
subs.Event<NewsWriterSaveDraftMessage>(OnNewsWriterDraftUpdatedMessage);
subs.Event<NewsWriterRequestDraftMessage>(OnRequestArticleDraftMessage);
});
// News reader
@@ -256,7 +258,7 @@ public sealed class NewsSystem : SharedNewsSystem
if (!TryGetArticles(ent, out var articles))
return;
var state = new NewsWriterBoundUserInterfaceState(articles.ToArray(), ent.Comp.PublishEnabled, ent.Comp.NextPublish);
var state = new NewsWriterBoundUserInterfaceState(articles.ToArray(), ent.Comp.PublishEnabled, ent.Comp.NextPublish, ent.Comp.DraftTitle, ent.Comp.DraftContent);
_ui.SetUiState(ent.Owner, NewsWriterUiKey.Key, state);
}
@@ -318,4 +320,14 @@ public sealed class NewsSystem : SharedNewsSystem
return true;
}
private void OnNewsWriterDraftUpdatedMessage(Entity<NewsWriterComponent> ent, ref NewsWriterSaveDraftMessage args)
{
ent.Comp.DraftTitle = args.DraftTitle;
ent.Comp.DraftContent = args.DraftContent;
}
private void OnRequestArticleDraftMessage(Entity<NewsWriterComponent> ent, ref NewsWriterRequestDraftMessage msg)
{
UpdateWriterUi(ent);
}
}