message-versions.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. import { CustomElement } from './element.js';
  2. import { api, converse } from '@converse/headless/core';
  3. import { html } from 'lit';
  4. import { __ } from 'i18n';
  5. import './styles/message-versions.scss';
  6. const { dayjs } = converse.env;
  7. const tplOlderVersion = (k, older_versions) => html`<p class="older-msg"><time>${dayjs(k).format('MMM D, YYYY, HH:mm:ss')}</time>: ${older_versions[k]}</p>`;
  8. export class MessageVersions extends CustomElement {
  9. static get properties () {
  10. return {
  11. 'model': { type: Object }
  12. }
  13. }
  14. render () {
  15. const older_versions = this.model.get('older_versions');
  16. const keys = Object.keys(older_versions);
  17. return html`
  18. ${ keys.length ?
  19. html`<h4>${__('Older versions')}</h4> ${keys.map(k => tplOlderVersion(k, older_versions))}` :
  20. html`<h4>${__('No older versions found')}</h4>`
  21. }
  22. <hr/>
  23. <h4>${__('Current version')}</h4>
  24. <p><time>${dayjs(this.model.get('time')).format('MMM D, YYYY, HH:mm:ss')}</time>: ${this.model.getMessageText()}</p>`;
  25. }
  26. }
  27. api.elements.define('converse-message-versions', MessageVersions);