mirror of
https://github.com/vector-im/hydrogen-web.git
synced 2024-11-20 11:36:24 +01:00
don't put body parts in span
This commit is contained in:
parent
629d58b041
commit
9aedc1d526
@ -14,21 +14,28 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import {StaticView} from "../../../general/StaticView.js";
|
||||
import {tag, text, classNames} from "../../../general/html.js";
|
||||
import {BaseMessageView} from "./BaseMessageView.js";
|
||||
|
||||
export class TextMessageView extends BaseMessageView {
|
||||
renderMessageBody(t, vm) {
|
||||
return t.p({
|
||||
const time = t.time({className: {hidden: !vm.date}}, vm.date + " " + vm.time);
|
||||
const container = t.div({
|
||||
className: {
|
||||
"Timeline_messageBody": true,
|
||||
statusMessage: vm => vm.shape === "message-status",
|
||||
},
|
||||
}, [
|
||||
t.mapView(vm => vm.body, body => new BodyView(body)),
|
||||
t.time({className: {hidden: !vm.date}}, vm.date + " " + vm.time)
|
||||
]);
|
||||
});
|
||||
t.mapSideEffect(vm => vm.body, body => {
|
||||
while (container.lastChild) {
|
||||
container.removeChild(container.lastChild);
|
||||
}
|
||||
for (const part of body.parts) {
|
||||
container.appendChild(renderPart(part));
|
||||
}
|
||||
container.appendChild(time);
|
||||
});
|
||||
return container;
|
||||
}
|
||||
}
|
||||
|
||||
@ -105,13 +112,3 @@ function renderPart(part) {
|
||||
function renderParts(parts) {
|
||||
return Array.from(parts, renderPart);
|
||||
}
|
||||
|
||||
class BodyView extends StaticView {
|
||||
render(t, messageBody) {
|
||||
const container = t.span();
|
||||
for (const part of messageBody.parts) {
|
||||
container.appendChild(renderPart(part));
|
||||
}
|
||||
return container;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user