2021-06-15 12:17:02 +02:00
|
|
|
import { CustomElement } from 'shared/components/element.js';
|
2023-02-15 14:19:48 +01:00
|
|
|
import tplPlaceholder from './templates/placeholder.js';
|
2021-06-15 12:17:02 +02:00
|
|
|
import { api } from "@converse/headless/core";
|
|
|
|
import { fetchArchivedMessages } from '@converse/headless/plugins/mam/utils.js';
|
|
|
|
|
|
|
|
import './styles/placeholder.scss';
|
|
|
|
|
|
|
|
|
|
|
|
class Placeholder extends CustomElement {
|
|
|
|
|
|
|
|
static get properties () {
|
|
|
|
return {
|
|
|
|
'model': { type: Object }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
render () {
|
2023-02-15 14:19:48 +01:00
|
|
|
return tplPlaceholder(this);
|
2021-06-15 12:17:02 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
async fetchMissingMessages (ev) {
|
|
|
|
ev?.preventDefault?.();
|
|
|
|
this.model.set('fetching', true);
|
|
|
|
const options = {
|
|
|
|
'before': this.model.get('before'),
|
|
|
|
'start': this.model.get('start')
|
|
|
|
}
|
|
|
|
await fetchArchivedMessages(this.model.collection.chatbox, options);
|
|
|
|
this.model.destroy();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
api.elements.define('converse-mam-placeholder', Placeholder);
|