2018-08-16 22:30:59 +00:00
|
|
|
/*
|
2021-02-04 22:04:35 +00:00
|
|
|
* Copyright (c) 2010-2021 Tim Düsterhus.
|
2018-08-16 22:30:59 +00:00
|
|
|
*
|
|
|
|
* Use of this software is governed by the Business Source License
|
|
|
|
* included in the LICENSE file.
|
|
|
|
*
|
2022-09-17 14:23:02 +00:00
|
|
|
* Change Date: 2026-09-17
|
2018-08-16 22:30:59 +00:00
|
|
|
*
|
|
|
|
* On the date above, in accordance with the Business Source
|
|
|
|
* License, use of this software will be governed by version 2
|
|
|
|
* or later of the General Public License.
|
|
|
|
*/
|
|
|
|
|
|
|
|
define([
|
|
|
|
'WoltLabSuite/Core/Date/Util',
|
|
|
|
'WoltLabSuite/Core/Language',
|
|
|
|
'WoltLabSuite/Core/Dom/Util',
|
|
|
|
'Bastelstu.be/Chat/User',
|
|
|
|
], function (DateUtil, Language, DomUtil, User) {
|
|
|
|
'use strict'
|
2020-11-01 16:41:19 +00:00
|
|
|
|
2018-08-16 22:30:59 +00:00
|
|
|
const DEPENDENCIES = ['ProfileStore', 'Template']
|
|
|
|
class MessageType {
|
|
|
|
constructor(profileStore, templates, objectType) {
|
|
|
|
this.profileStore = profileStore
|
|
|
|
this.templates = templates
|
|
|
|
|
|
|
|
this.objectType = objectType
|
|
|
|
}
|
|
|
|
|
|
|
|
shouldUpdateUserList() {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
|
|
|
getReferencedUsers(message) {
|
|
|
|
if (message.userID === null) return []
|
|
|
|
|
|
|
|
return [message.userID]
|
|
|
|
}
|
|
|
|
|
|
|
|
preProcess(message) {}
|
|
|
|
|
|
|
|
preRender(message) {}
|
|
|
|
|
|
|
|
render(message) {
|
|
|
|
const variables = {
|
|
|
|
message,
|
|
|
|
users: this.profileStore,
|
|
|
|
author: this.profileStore.get(message.userID),
|
|
|
|
DateUtil,
|
|
|
|
Language,
|
|
|
|
}
|
|
|
|
|
|
|
|
if (variables.author == null) {
|
|
|
|
variables.author = User.getGuest(message.username)
|
|
|
|
}
|
|
|
|
|
|
|
|
return DomUtil.createFragmentFromHtml(
|
|
|
|
this.templates[message.objectType.replace(/\./g, '-')].fetch(variables)
|
2020-11-01 16:41:19 +00:00
|
|
|
)
|
2018-08-16 22:30:59 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
renderPlainText(message) {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
|
|
|
joinable(messageA, messageB) {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
MessageType.DEPENDENCIES = DEPENDENCIES
|
|
|
|
|
|
|
|
return MessageType
|
|
|
|
})
|