xmpp.chapril.org-conversejs/src/shared/directives/styling.js

28 lines
820 B
JavaScript
Raw Normal View History

import log from '@converse/headless/log.js';
import { Directive, directive } from 'lit/directive.js';
import { RichText } from 'shared/rich-text.js';
import { html } from 'lit';
import { until } from 'lit/directives/until.js';
async function transform (t) {
try {
await t.addTemplates();
} catch (e) {
log.error(e);
}
return t.payload;
}
class StylingDirective extends Directive {
render (txt, offset, options) { // eslint-disable-line class-methods-use-this
2021-06-17 12:31:38 +02:00
const t = new RichText(
txt,
offset,
2021-06-17 14:37:43 +02:00
Object.assign(options, { 'show_images': false, 'embed_videos': false, 'embed_audio': false })
2021-06-17 12:31:38 +02:00
);
return html`${until(transform(t), html`${t}`)}`;
}
}
export const renderStylingDirectiveBody = directive(StylingDirective);