From 730c9bd02e37b8c6af03ba3eeee75f749f2269a9 Mon Sep 17 00:00:00 2001 From: brrusselburg <25828824+brrusselburg@users.noreply.github.com> Date: Tue, 25 Feb 2025 17:13:03 -0600 Subject: [PATCH] WIP notes --- app/serializers/assigned_topic_serializer.rb | 1 - .../discourse/components/assign-actions-dropdown.js | 4 ++-- .../discourse/components/assigned-to-post.gjs | 10 +++++++++- .../discourse/components/topic-level-assign-menu.js | 8 ++++++++ .../discourse/initializers/extend-for-assigns.js | 4 ++-- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/app/serializers/assigned_topic_serializer.rb b/app/serializers/assigned_topic_serializer.rb index a91ff55..20ceebb 100644 --- a/app/serializers/assigned_topic_serializer.rb +++ b/app/serializers/assigned_topic_serializer.rb @@ -8,7 +8,6 @@ class AssignedTopicSerializer < BasicTopicSerializer has_one :user, serializer: BasicUserSerializer, embed: :objects def assigned_to_user - # checkout out this basic user serializer BasicUserSerializer.new(object.assigned_to, scope: scope, root: false).as_json end diff --git a/assets/javascripts/discourse/components/assign-actions-dropdown.js b/assets/javascripts/discourse/components/assign-actions-dropdown.js index 13ed9f7..422fbb3 100644 --- a/assets/javascripts/discourse/components/assign-actions-dropdown.js +++ b/assets/javascripts/discourse/components/assign-actions-dropdown.js @@ -24,7 +24,7 @@ export default class AssignActionsDropdown extends DropdownSelectBoxComponent { icon: this.group ? "group-times" : "user-xmark", name: i18n("discourse_assign.unassign.title"), description: i18n("discourse_assign.unassign.help", { - username: this.assignee, + username: this.assignee, // here }), }, { @@ -45,7 +45,7 @@ export default class AssignActionsDropdown extends DropdownSelectBoxComponent { icon: assignee.username ? "user-xmark" : "group-times", name: i18n("discourse_assign.unassign_post.title"), description: i18n("discourse_assign.unassign_post.help", { - username: assignee.username || assignee.name, + username: assignee.username || assignee.name, // here }), }); }); diff --git a/assets/javascripts/discourse/components/assigned-to-post.gjs b/assets/javascripts/discourse/components/assigned-to-post.gjs index c352e49..6c17144 100644 --- a/assets/javascripts/discourse/components/assigned-to-post.gjs +++ b/assets/javascripts/discourse/components/assigned-to-post.gjs @@ -11,6 +11,14 @@ export default class AssignedToPost extends Component { @service taskActions; @service siteSettings; + get nameOrUsername() { + if (this.siteSettings.prioritize_full_name_in_ux) { + return this.args.assignedToUser.name || this.args.assignedToUser.username; + } else { + return this.args.assignedToUser.username; + } + } + @action unassign() { this.taskActions.unassignPost(this.args.post); @@ -34,7 +42,7 @@ export default class AssignedToPost extends Component { {{#if @assignedToUser}} - {{@assignedToUser.username}} + {{this.nameOrUsername}} {{else}} {{@assignedToGroup.name}} {{/if}} diff --git a/assets/javascripts/discourse/components/topic-level-assign-menu.js b/assets/javascripts/discourse/components/topic-level-assign-menu.js index 4425c42..7e4d2b1 100644 --- a/assets/javascripts/discourse/components/topic-level-assign-menu.js +++ b/assets/javascripts/discourse/components/topic-level-assign-menu.js @@ -105,6 +105,14 @@ function avatarHtml(user, size, classes) { }); } +// function nameOrUsername() { +// if (this.siteSettings.prioritize_full_name_in_ux) { +// topic.assigned_to_user?.name || topic.assigned_to_user?.username; +// } else { +// topic.assigned_to_user?.username; +// } +// } + function extractPostId(buttonId) { // buttonId format is "unassign-from-post-${postId}" const start = buttonId.lastIndexOf("-") + 1; diff --git a/assets/javascripts/discourse/initializers/extend-for-assigns.js b/assets/javascripts/discourse/initializers/extend-for-assigns.js index 8cc4cf6..b8f86a4 100644 --- a/assets/javascripts/discourse/initializers/extend-for-assigns.js +++ b/assets/javascripts/discourse/initializers/extend-for-assigns.js @@ -624,6 +624,7 @@ function initialize(api) { ); }); } + console.log(assigneeElements); if (!isEmpty(assigneeElements)) { return h("p.assigned-to", [ assignedToUser ? iconNode("user-plus") : iconNode("group-plus"), @@ -725,8 +726,7 @@ function initialize(api) { api.decorateWidget("post-contents:after-cooked", (dec) => { const postModel = dec.getModel(); if (postModel) { - console.log("!!!!!!!!!!!!!!!!!!!!!!", dec.attrs); - // need to make sure 'name' is not empty in the attrs ^ + // 'name' is not empty in the attrs ^, looking good let assignedToUser, assignedToGroup, postAssignment, href; if (dec.attrs.post_number === 1) { return dec.widget.attach("assigned-to-first-post", {