فهرست منبع

Split mam-views plugin into multiple files

JC Brand 4 سال پیش
والد
کامیت
42581b1d12
5فایلهای تغییر یافته به همراه20 افزوده شده و 17 حذف شده
  1. 1 1
      karma.conf.js
  2. 1 1
      src/converse.js
  3. 16 0
      src/plugins/mam-views/index.js
  4. 0 0
      src/plugins/mam-views/tests/mam.js
  5. 2 15
      src/plugins/mam-views/utils.js

+ 1 - 1
karma.conf.js

@@ -31,7 +31,6 @@ module.exports = function(config) {
       { pattern: "spec/emojis.js", type: 'module' },
       { pattern: "spec/emojis.js", type: 'module' },
       { pattern: "spec/eventemitter.js", type: 'module' },
       { pattern: "spec/eventemitter.js", type: 'module' },
       { pattern: "spec/http-file-upload.js", type: 'module' },
       { pattern: "spec/http-file-upload.js", type: 'module' },
-      { pattern: "spec/mam.js", type: 'module' },
       { pattern: "spec/markers.js", type: 'module' },
       { pattern: "spec/markers.js", type: 'module' },
       { pattern: "spec/ping.js", type: 'module' },
       { pattern: "spec/ping.js", type: 'module' },
       { pattern: "spec/presence.js", type: 'module' },
       { pattern: "spec/presence.js", type: 'module' },
@@ -54,6 +53,7 @@ module.exports = function(config) {
       { pattern: "src/plugins/controlbox/tests/controlbox.js", type: 'module' },
       { pattern: "src/plugins/controlbox/tests/controlbox.js", type: 'module' },
       { pattern: "src/plugins/controlbox/tests/login.js", type: 'module' },
       { pattern: "src/plugins/controlbox/tests/login.js", type: 'module' },
       { pattern: "src/plugins/headlines-view/tests/headline.js", type: 'module' },
       { pattern: "src/plugins/headlines-view/tests/headline.js", type: 'module' },
+      { pattern: "src/plugins/mam-views/tests/mam.js", type: 'module' },
       { pattern: "src/plugins/minimize/tests/minchats.js", type: 'module' },
       { pattern: "src/plugins/minimize/tests/minchats.js", type: 'module' },
       { pattern: "src/plugins/muc-views/tests/autocomplete.js", type: 'module' },
       { pattern: "src/plugins/muc-views/tests/autocomplete.js", type: 'module' },
       { pattern: "src/plugins/muc-views/tests/hats.js", type: 'module' },
       { pattern: "src/plugins/muc-views/tests/hats.js", type: 'module' },

+ 1 - 1
src/converse.js

@@ -21,7 +21,7 @@ import "./plugins/controlbox/index.js";     // The control box
 import "./plugins/dragresize/index.js";     // Allows chat boxes to be resized by dragging them
 import "./plugins/dragresize/index.js";     // Allows chat boxes to be resized by dragging them
 import "./plugins/fullscreen/index.js";
 import "./plugins/fullscreen/index.js";
 import "./plugins/headlines-view/index.js";
 import "./plugins/headlines-view/index.js";
-import "./plugins/mam-views.js";
+import "./plugins/mam-views/index.js";
 import "./plugins/minimize/index.js";             // Allows chat boxes to be minimized
 import "./plugins/minimize/index.js";             // Allows chat boxes to be minimized
 import "./plugins/muc-views/index.js";      // Views related to MUC
 import "./plugins/muc-views/index.js";      // Views related to MUC
 import "./plugins/notifications/index.js";
 import "./plugins/notifications/index.js";

+ 16 - 0
src/plugins/mam-views/index.js

@@ -0,0 +1,16 @@
+/**
+ * @description UI code XEP-0313 Message Archive Management
+ * @copyright 2021, the Converse.js contributors
+ * @license Mozilla Public License (MPLv2)
+ */
+import { api, converse } from '@converse/headless/core';
+import { fetchMessagesOnScrollUp } from './utils.js';
+
+
+converse.plugins.add('converse-mam-views', {
+    dependencies: ['converse-mam', 'converse-chatview', 'converse-muc-views'],
+
+    initialize () {
+        api.listen.on('chatBoxScrolledUp', fetchMessagesOnScrollUp);
+    }
+});

+ 0 - 0
spec/mam.js → src/plugins/mam-views/tests/mam.js


+ 2 - 15
src/plugins/mam-views.js → src/plugins/mam-views/utils.js

@@ -1,12 +1,7 @@
-/**
- * @description UI code XEP-0313 Message Archive Management
- * @copyright 2020, the Converse.js contributors
- * @license Mozilla Public License (MPLv2)
- */
 import { fetchArchivedMessages } from '@converse/headless/plugins/mam/utils';
 import { fetchArchivedMessages } from '@converse/headless/plugins/mam/utils';
-import { _converse, api, converse } from '@converse/headless/core';
+import { _converse } from '@converse/headless/core';
 
 
-async function fetchMessagesOnScrollUp (view) {
+export async function fetchMessagesOnScrollUp (view) {
     if (view.model.messages.length) {
     if (view.model.messages.length) {
         const is_groupchat = view.model.get('type') === _converse.CHATROOMS_TYPE;
         const is_groupchat = view.model.get('type') === _converse.CHATROOMS_TYPE;
         const oldest_message = view.model.getOldestMessage();
         const oldest_message = view.model.getOldestMessage();
@@ -24,11 +19,3 @@ async function fetchMessagesOnScrollUp (view) {
         }
         }
     }
     }
 }
 }
-
-converse.plugins.add('converse-mam-views', {
-    dependencies: ['converse-mam', 'converse-chatview', 'converse-muc-views'],
-
-    initialize () {
-        api.listen.on('chatBoxScrolledUp', fetchMessagesOnScrollUp);
-    }
-});