浏览代码

Fix #3209.

Fixing some technical errors when avoiding importing the `converse` global with bootstrap modal API.
SilverYoCha 2 年之前
父节点
当前提交
e18fdd56b1
共有 2 个文件被更改,包括 13 次插入6 次删除
  1. 2 2
      src/plugins/modal/base.js
  2. 11 4
      src/utils/html.js

+ 2 - 2
src/plugins/modal/base.js

@@ -4,7 +4,7 @@ import log from "@converse/headless/log";
 import sizzle from 'sizzle';
 import tplAlertComponent from "./templates/modal-alert.js";
 import { View } from '@converse/skeletor/src/view.js';
-import { addClass, removeElement } from '../../utils/html.js';
+import { hasClass, addClass, removeElement, removeClass } from '../../utils/html.js';
 import { render } from 'lit';
 
 import './styles/_modal.scss';
@@ -43,7 +43,7 @@ const BaseModal = View.extend({
     },
 
     onHide () {
-        u.removeClass('selected', this.trigger_el);
+        removeClass('selected', this.trigger_el);
         !this.persistent && api.modal.remove(this);
     },
 

+ 11 - 4
src/utils/html.js

@@ -236,14 +236,20 @@ u.getLastChildElement = function (el, selector = '*') {
     return last_el;
 };
 
-u.hasClass = function (className, el) {
-    return el instanceof Element && el.classList.contains(className);
-};
-
 u.toggleClass = function (className, el) {
     u.hasClass(className, el) ? removeClass(className, el) : addClass(className, el);
 };
 
+/**
+ * Has an element a class?
+ * @method u#hasClass
+ * @param { string } className
+ * @param { Element } el
+ */
+export function hasClass (className, el) {
+    return el instanceof Element && el.classList.contains(className);
+}
+
 /**
  * Add a class to an element.
  * @method u#addClass
@@ -615,6 +621,7 @@ u.xForm2TemplateResult = function (field, stanza, options={}) {
 };
 
 Object.assign(u, {
+    hasClass,
     addClass,
     ancestor,
     getOOBURLMarkup,