Procházet zdrojové kódy

New event `historyPruned`

JC Brand před 4 roky
rodič
revize
42b15497fc
2 změnil soubory, kde provedl 10 přidání a 0 odebrání
  1. 1 0
      CHANGES.md
  2. 9 0
      src/headless/shared/chat/utils.js

+ 1 - 0
CHANGES.md

@@ -16,6 +16,7 @@
 - New hook: [getMessageActionButtons](https://conversejs.org/docs/html/api/-_converse.html#event:getMessageActionButtons)
 - New hook: [shouldNotifyOfGroupMessage](https://conversejs.org/docs/html/api/-_converse.html#event:shouldNotifyOfGroupMessage)
 - New hook: [presenceConstructed](https://conversejs.org/docs/html/api/-_converse.html#event:presenceConstructed)
+- New event: [historyPruned](https://conversejs.org/docs/html/api/-_converse.html#event:historyPruned)
 - File structure reordering: All plugins are now in `./plugins` folders.
 - New configuration setting: [show_tab_notifications](https://conversejs.org/docs/html/configuration.html#show-tab-notifications)
 - New configuration setting: [muc_clear_messages_on_leave](https://conversejs.org/docs/html/configuration.html#muc-clear-messages-on-leave)

+ 9 - 0
src/headless/shared/chat/utils.js

@@ -11,6 +11,15 @@ export function pruneHistory (model) {
             if (non_empty_messages.length > max_history) {
                 while (non_empty_messages.length > max_history) {
                     non_empty_messages.shift().destroy();
+                    /**
+                     * Triggered once the message history has been pruned, i.e.
+                     * once older messages have been removed to keep the
+                     * number of messages below the value set in `prune_messages_above`.
+                     * @event _converse#historyPruned
+                     * @type { _converse.ChatBox | _converse.ChatRoom }
+                     * @example _converse.api.listen.on('historyPruned', this => { ... });
+                     */
+                    api.trigger('historyPruned', model);
                 }
             }
         }