pfaffman
(Jay Pfaffman)
27 نوفمبر 2024، 9:59م
1
أنا مهتم بفعل شيء مثل GitHub - nolosb/discourse-featured-lists: A Discourse theme component to feature custom topic lists. والذي يجعل رسائل PM تظهر على بعض الصفحات الأخرى (مثل الأحدث).
الفكرة هي أن رسائل PM الجماعية قد يكون من الصعب العثور عليها، لذلك إذا كان بإمكاني الحصول على، على سبيل المثال، رسائل PM الجماعية غير المقروءة لعرضها على /unread فسيكون ذلك رائعًا حقًا.
لنفترض للحظة أنني أستطيع معرفة كيفية عرضها، فما أحتاجه هو الحصول على البيانات حتى أتمكن من عرضها.
هل يمكنني فعل شيء كهذا:
const topicList = await this.store.findFiltered('topicList', {
filter: this.args.list.filter,
params: {
category: this.args.list.category,
tags: this.args.list.tag,
solved: solvedFilter,
},
});
ولكن جعل المعلمات تحصل، على سبيل المثال، على رسائل PM الجماعية للموظفين أو الفريق أو أي شيء آخر؟
3 إعجابات
pfaffman
(Jay Pfaffman)
29 نوفمبر 2024، 3:13م
2
حسنًا ، يبدو أنه يمكنني القيام بذلك بشكل ما كالتالي:
const topicList = await this.store.findFiltered('topicList', {
filter: this.args.list.filter,
// filter: "search",
params: {
// category: this.args.list.category,
// tags: this.args.list.tag,
// solved: solvedFilter,
q: "upgraded in:messages"
},
});
هذا سيعطيني رسائلي التي تحتوي على “upgraded” فيها.
لكنني ما زلت لا أستطيع معرفة كيفية الحصول على ، على سبيل المثال ، الرسائل غير المقروءة ، الرسائل الجديدة ، كل الرسائل ، الرسائل المرسلة إلى مجموعة.
تنهد. لكنها ليست قائمة مواضيع.
إعجابَين (2)
pfaffman
(Jay Pfaffman)
29 نوفمبر 2024، 4:28م
3
ولكن انتظر!!! لقد وجدت المرشح الصحيح في
}
return [title, i18n(`user.private_messages`)];
}
}
async model(params = {}) {
const username = this.modelFor("user").get("username_lower");
const groupName = this.modelFor("userPrivateMessages.group").name;
let topicListFilter = `topics/private-messages-group/${username}/${groupName}`;
if (filter !== "inbox") {
topicListFilter = `${topicListFilter}/${filter}`;
}
const lastTopicList = findOrResetCachedTopicList(
this.session,
topicListFilter
);
let topicListFilter = `topics/private-messages-group/${this.currentUser.username}/${groupName}`
console.log("consider the topic list", topicListFilter)
const topicList = await this.store.findFiltered('topicList', {
filter: topicListFilter,
params: { },
})
إعجابَين (2)