修复输入内容换行引起的一些问题、修复IE浏览器下报错的问题

This commit is contained in:
fan
2021-01-29 21:03:47 +08:00
parent 177d610b68
commit abf9abac25
15 changed files with 128 additions and 112 deletions
+41 -35
View File
@@ -6103,6 +6103,7 @@ var es6_regexp_replace = __webpack_require__("a481");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -6179,6 +6180,10 @@ function arrayIntersect(a, b) {
return a.filter(function (x) { return a.filter(function (x) {
return b.includes(x); return b.includes(x);
}); });
} //清除字符串内的所有HTML标签
function clearHtml(str) {
return str.replace(/<.*?>/ig, "");
} }
function error(text) { function error(text) {
throw new Error(text); throw new Error(text);
@@ -6373,7 +6378,6 @@ var es6_array_from = __webpack_require__("1c4c");
function editorvue_type_script_lang_js_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function editorvue_type_script_lang_js_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function editorvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { editorvue_type_script_lang_js_ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { editorvue_type_script_lang_js_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function editorvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { editorvue_type_script_lang_js_ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { editorvue_type_script_lang_js_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -6517,8 +6521,7 @@ var isInitTool = false;
"keyup": this._handleKeyup, "keyup": this._handleKeyup,
"keydown": this._handleKeydown, "keydown": this._handleKeydown,
"paste": this._handlePaste, "paste": this._handlePaste,
"click": this._handleClick, "click": this._handleClick
"input": this._handleInput
} }
})]), h("div", { })]), h("div", {
"class": "lemon-editor__footer" "class": "lemon-editor__footer"
@@ -6612,9 +6615,6 @@ var isInitTool = false;
_handleClick: function _handleClick() { _handleClick: function _handleClick() {
this._saveLastRange(); this._saveLastRange();
}, },
_handleInput: function _handleInput() {
this._checkSubmitDisabled();
},
_renderEmojiTabs: function _renderEmojiTabs() { _renderEmojiTabs: function _renderEmojiTabs() {
var _this3 = this; var _this3 = this;
@@ -6695,16 +6695,19 @@ var isInitTool = false;
}(), }(),
_handlePaste: function _handlePaste(e) { _handlePaste: function _handlePaste(e) {
e.preventDefault(); e.preventDefault();
var clipboardData = e.clipboardData; var clipboardData = e.clipboardData || window.clipboardData;
var text = clipboardData.getData("text"); var text = clipboardData.getData("Text");
exec(text, "insertText"); // Array.from(clipboardData.items).forEach(item => {
// console.log(item.type); if (window.clipboardData) {
// }); this.$refs.textarea.innerHTML = text;
//e.target.innerText = text; } else {
exec(text, "insertText");
}
}, },
_handleKeyup: function _handleKeyup(e) { _handleKeyup: function _handleKeyup(e) {
this._saveLastRange(); //this._checkSubmitDisabled(); this._saveLastRange();
this._checkSubmitDisabled();
}, },
_handleKeydown: function _handleKeydown(e) { _handleKeydown: function _handleKeydown(e) {
if (this.submitDisabled == false && this.sendKey(e)) { if (this.submitDisabled == false && this.sendKey(e)) {
@@ -6712,10 +6715,16 @@ var isInitTool = false;
} }
}, },
getFormatValue: function getFormatValue() { getFormatValue: function getFormatValue() {
return toEmojiName(this.$refs.textarea.innerHTML.replace(/<br>|<\/br>/, "").replace(/<div>|<p>/g, "\r\n").replace(/<\/div>|<\/p>/g, "")); // return toEmojiName(
// this.$refs.textarea.innerHTML
// .replace(/<br>|<\/br>/, "")
// .replace(/<div>|<p>/g, "\r\n")
// .replace(/<\/div>|<\/p>/g, "")
// );
return toEmojiName(this.$refs.textarea.innerHTML);
}, },
_checkSubmitDisabled: function _checkSubmitDisabled() { _checkSubmitDisabled: function _checkSubmitDisabled() {
this.submitDisabled = !this.$refs.textarea.innerHTML.trim(); this.submitDisabled = !this.$refs.textarea.innerText.trim();
}, },
_handleSend: function _handleSend(e) { _handleSend: function _handleSend(e) {
var text = this.getFormatValue(); var text = this.getFormatValue();
@@ -7493,6 +7502,7 @@ var MESSAGE_TYPE = ["voice", "file", "video", "image", "text"];
var MESSAGE_STATUS = ["going", "succeed", "failed"]; var MESSAGE_STATUS = ["going", "succeed", "failed"];
var CONTACT_TYPE = ["many", "single"]; var CONTACT_TYPE = ["many", "single"];
// CONCATENATED MODULE: ./packages/lastContentRender.js // CONCATENATED MODULE: ./packages/lastContentRender.js
/* harmony default export */ var packages_lastContentRender = ({ /* harmony default export */ var packages_lastContentRender = ({
file: function file(message) { file: function file(message) {
return "[文件]"; return "[文件]";
@@ -7501,7 +7511,7 @@ var CONTACT_TYPE = ["many", "single"];
return "[图片]"; return "[图片]";
}, },
text: function text(message) { text: function text(message) {
return this.replaceEmojiName(message.content); return this.replaceEmojiName(clearHtml(message.content));
}, },
event: function event(message) { event: function event(message) {
return '[通知]'; return '[通知]';
@@ -7598,7 +7608,6 @@ function () {
function componentsvue_type_script_lang_js_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function componentsvue_type_script_lang_js_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function componentsvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { componentsvue_type_script_lang_js_ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { componentsvue_type_script_lang_js_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function componentsvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { componentsvue_type_script_lang_js_ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { componentsvue_type_script_lang_js_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -8359,15 +8368,20 @@ var renderDrawerContent = function renderDrawerContent() {};
* EmojiItem = {name: wx,title: 微笑,src: url} 无分组 * EmojiItem = {name: wx,title: 微笑,src: url} 无分组
*/ */
initEmoji: function initEmoji(data) { initEmoji: function initEmoji(data) {
var flatData = [];
this.$refs.editor.initEmoji(data); this.$refs.editor.initEmoji(data);
if (data[0].label) { if (data[0].label) {
data = data.flatMap(function (item) { data.forEach(function (item) {
return item.children; var _flatData;
(_flatData = flatData).push.apply(_flatData, _toConsumableArray(item.children));
}); });
} else {
flatData = data;
} }
data.forEach(function (_ref2) { flatData.forEach(function (_ref2) {
var name = _ref2.name, var name = _ref2.name,
src = _ref2.src; src = _ref2.src;
return emojiMap[name] = src; return emojiMap[name] = src;
@@ -8521,22 +8535,14 @@ var renderDrawerContent = function renderDrawerContent() {};
return this.findContactIndexById(contactId) !== -1; return this.findContactIndexById(contactId) !== -1;
}, },
findMessage: function findMessage(messageId) { findMessage: function findMessage(messageId) {
return Object.values(allMessages).flat().find(function (_ref3) { for (var key in allMessages) {
var id = _ref3.id; var message = allMessages[key].find(function (_ref3) {
return id == messageId; var id = _ref3.id;
}); return id == messageId;
});
if (message) return message;
}
}, },
// findMessageIndexById(messageId, contactId) {
// const msg = messages[contactId];
// if (isEmpty(msg)) {
// return -1;
// }
// return msg.findIndex(item => item.id == messageId);
// },
// findMessageById(messageId, contactId) {
// const index = this.findMessageIndexById(messageId, contactId);
// if (index !== -1) return messages[contactId][index];
// },
/** /**
* 返回所有联系人 * 返回所有联系人
+1 -1
View File
File diff suppressed because one or more lines are too long
+41 -35
View File
@@ -6112,6 +6112,7 @@ var es6_regexp_replace = __webpack_require__("a481");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -6188,6 +6189,10 @@ function arrayIntersect(a, b) {
return a.filter(function (x) { return a.filter(function (x) {
return b.includes(x); return b.includes(x);
}); });
} //清除字符串内的所有HTML标签
function clearHtml(str) {
return str.replace(/<.*?>/ig, "");
} }
function error(text) { function error(text) {
throw new Error(text); throw new Error(text);
@@ -6382,7 +6387,6 @@ var es6_array_from = __webpack_require__("1c4c");
function editorvue_type_script_lang_js_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function editorvue_type_script_lang_js_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function editorvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { editorvue_type_script_lang_js_ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { editorvue_type_script_lang_js_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function editorvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { editorvue_type_script_lang_js_ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { editorvue_type_script_lang_js_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -6526,8 +6530,7 @@ var isInitTool = false;
"keyup": this._handleKeyup, "keyup": this._handleKeyup,
"keydown": this._handleKeydown, "keydown": this._handleKeydown,
"paste": this._handlePaste, "paste": this._handlePaste,
"click": this._handleClick, "click": this._handleClick
"input": this._handleInput
} }
})]), h("div", { })]), h("div", {
"class": "lemon-editor__footer" "class": "lemon-editor__footer"
@@ -6621,9 +6624,6 @@ var isInitTool = false;
_handleClick: function _handleClick() { _handleClick: function _handleClick() {
this._saveLastRange(); this._saveLastRange();
}, },
_handleInput: function _handleInput() {
this._checkSubmitDisabled();
},
_renderEmojiTabs: function _renderEmojiTabs() { _renderEmojiTabs: function _renderEmojiTabs() {
var _this3 = this; var _this3 = this;
@@ -6704,16 +6704,19 @@ var isInitTool = false;
}(), }(),
_handlePaste: function _handlePaste(e) { _handlePaste: function _handlePaste(e) {
e.preventDefault(); e.preventDefault();
var clipboardData = e.clipboardData; var clipboardData = e.clipboardData || window.clipboardData;
var text = clipboardData.getData("text"); var text = clipboardData.getData("Text");
exec(text, "insertText"); // Array.from(clipboardData.items).forEach(item => {
// console.log(item.type); if (window.clipboardData) {
// }); this.$refs.textarea.innerHTML = text;
//e.target.innerText = text; } else {
exec(text, "insertText");
}
}, },
_handleKeyup: function _handleKeyup(e) { _handleKeyup: function _handleKeyup(e) {
this._saveLastRange(); //this._checkSubmitDisabled(); this._saveLastRange();
this._checkSubmitDisabled();
}, },
_handleKeydown: function _handleKeydown(e) { _handleKeydown: function _handleKeydown(e) {
if (this.submitDisabled == false && this.sendKey(e)) { if (this.submitDisabled == false && this.sendKey(e)) {
@@ -6721,10 +6724,16 @@ var isInitTool = false;
} }
}, },
getFormatValue: function getFormatValue() { getFormatValue: function getFormatValue() {
return toEmojiName(this.$refs.textarea.innerHTML.replace(/<br>|<\/br>/, "").replace(/<div>|<p>/g, "\r\n").replace(/<\/div>|<\/p>/g, "")); // return toEmojiName(
// this.$refs.textarea.innerHTML
// .replace(/<br>|<\/br>/, "")
// .replace(/<div>|<p>/g, "\r\n")
// .replace(/<\/div>|<\/p>/g, "")
// );
return toEmojiName(this.$refs.textarea.innerHTML);
}, },
_checkSubmitDisabled: function _checkSubmitDisabled() { _checkSubmitDisabled: function _checkSubmitDisabled() {
this.submitDisabled = !this.$refs.textarea.innerHTML.trim(); this.submitDisabled = !this.$refs.textarea.innerText.trim();
}, },
_handleSend: function _handleSend(e) { _handleSend: function _handleSend(e) {
var text = this.getFormatValue(); var text = this.getFormatValue();
@@ -7502,6 +7511,7 @@ var MESSAGE_TYPE = ["voice", "file", "video", "image", "text"];
var MESSAGE_STATUS = ["going", "succeed", "failed"]; var MESSAGE_STATUS = ["going", "succeed", "failed"];
var CONTACT_TYPE = ["many", "single"]; var CONTACT_TYPE = ["many", "single"];
// CONCATENATED MODULE: ./packages/lastContentRender.js // CONCATENATED MODULE: ./packages/lastContentRender.js
/* harmony default export */ var packages_lastContentRender = ({ /* harmony default export */ var packages_lastContentRender = ({
file: function file(message) { file: function file(message) {
return "[文件]"; return "[文件]";
@@ -7510,7 +7520,7 @@ var CONTACT_TYPE = ["many", "single"];
return "[图片]"; return "[图片]";
}, },
text: function text(message) { text: function text(message) {
return this.replaceEmojiName(message.content); return this.replaceEmojiName(clearHtml(message.content));
}, },
event: function event(message) { event: function event(message) {
return '[通知]'; return '[通知]';
@@ -7607,7 +7617,6 @@ function () {
function componentsvue_type_script_lang_js_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function componentsvue_type_script_lang_js_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function componentsvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { componentsvue_type_script_lang_js_ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { componentsvue_type_script_lang_js_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function componentsvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { componentsvue_type_script_lang_js_ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { componentsvue_type_script_lang_js_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -8368,15 +8377,20 @@ var renderDrawerContent = function renderDrawerContent() {};
* EmojiItem = {name: wx,title: 微笑,src: url} 无分组 * EmojiItem = {name: wx,title: 微笑,src: url} 无分组
*/ */
initEmoji: function initEmoji(data) { initEmoji: function initEmoji(data) {
var flatData = [];
this.$refs.editor.initEmoji(data); this.$refs.editor.initEmoji(data);
if (data[0].label) { if (data[0].label) {
data = data.flatMap(function (item) { data.forEach(function (item) {
return item.children; var _flatData;
(_flatData = flatData).push.apply(_flatData, _toConsumableArray(item.children));
}); });
} else {
flatData = data;
} }
data.forEach(function (_ref2) { flatData.forEach(function (_ref2) {
var name = _ref2.name, var name = _ref2.name,
src = _ref2.src; src = _ref2.src;
return emojiMap[name] = src; return emojiMap[name] = src;
@@ -8530,22 +8544,14 @@ var renderDrawerContent = function renderDrawerContent() {};
return this.findContactIndexById(contactId) !== -1; return this.findContactIndexById(contactId) !== -1;
}, },
findMessage: function findMessage(messageId) { findMessage: function findMessage(messageId) {
return Object.values(allMessages).flat().find(function (_ref3) { for (var key in allMessages) {
var id = _ref3.id; var message = allMessages[key].find(function (_ref3) {
return id == messageId; var id = _ref3.id;
}); return id == messageId;
});
if (message) return message;
}
}, },
// findMessageIndexById(messageId, contactId) {
// const msg = messages[contactId];
// if (isEmpty(msg)) {
// return -1;
// }
// return msg.findIndex(item => item.id == messageId);
// },
// findMessageById(messageId, contactId) {
// const index = this.findMessageIndexById(messageId, contactId);
// if (index !== -1) return messages[contactId][index];
// },
/** /**
* 返回所有联系人 * 返回所有联系人
+1 -1
View File
File diff suppressed because one or more lines are too long
+1
View File
@@ -1557,6 +1557,7 @@ export default {
<style lang="stylus"> <style lang="stylus">
::selection{background:#000;color:#fff;} ::selection{background:#000;color:#fff;}
body body
font-family "Microsoft YaHei"
background #f6f6f6 !important background #f6f6f6 !important
#app #app
width 90% width 90%
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><link rel=icon href=favicon.ico><title>Lemon IMUI</title><link href=css/index.9ef31261.css rel=preload as=style><link href=js/chunk-vendors.e4810482.js rel=preload as=script><link href=js/index.e68554e2.js rel=preload as=script><link href=css/index.9ef31261.css rel=stylesheet></head><body><noscript><strong>We're sorry but flat-im doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.e4810482.js></script><script src=js/index.e68554e2.js></script></body></html> <!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><link rel=icon href=favicon.ico><title>Lemon IMUI</title><link href=css/index.8db04478.css rel=preload as=style><link href=js/chunk-vendors.e4810482.js rel=preload as=script><link href=js/index.e5d6dd7c.js rel=preload as=script><link href=css/index.8db04478.css rel=stylesheet></head><body><noscript><strong>We're sorry but flat-im doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.e4810482.js></script><script src=js/index.e5d6dd7c.js></script></body></html>
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "lemon-imui", "name": "lemon-imui",
"version": "1.4.0", "version": "1.4.1",
"main": "dist/index.umd.min.js", "main": "dist/index.umd.min.js",
"description": "基于 VUE2.0 的 IM 聊天组件", "description": "基于 VUE2.0 的 IM 聊天组件",
"homepage": "https://github.com/fanjyy/lemon-imui", "homepage": "https://github.com/fanjyy/lemon-imui",
+4 -1
View File
@@ -128,11 +128,14 @@ export default {
+e(content) +e(content)
font-size 12px font-size 12px
color #999 color #999
padding-top 3px
height 14px
line-height 14px
ellipsis() ellipsis()
img img
height 14px height 14px
display inline-block display inline-block
vertical-align middle vertical-align top
margin 0 1px margin 0 1px
+m(name-center) +m(name-center)
+e(label) +e(label)
+17 -20
View File
@@ -1,5 +1,5 @@
<script> <script>
import { toEmojiName,useScopedSlot } from "utils"; import { toEmojiName,useScopedSlot,clearHtml } from "utils";
const exec = (val, command = "insertHTML") => { const exec = (val, command = "insertHTML") => {
document.execCommand(command, false, val); document.execCommand(command, false, val);
}; };
@@ -95,7 +95,6 @@ export default {
on-keydown={this._handleKeydown} on-keydown={this._handleKeydown}
on-paste={this._handlePaste} on-paste={this._handlePaste}
on-click={this._handleClick} on-click={this._handleClick}
on-input={this._handleInput}
spellcheck="false" spellcheck="false"
/> />
</div> </div>
@@ -182,9 +181,6 @@ export default {
_handleClick() { _handleClick() {
this._saveLastRange(); this._saveLastRange();
}, },
_handleInput() {
this._checkSubmitDisabled();
},
_renderEmojiTabs() { _renderEmojiTabs() {
const renderImageGrid = items => { const renderImageGrid = items => {
return items.map(item => ( return items.map(item => (
@@ -225,17 +221,17 @@ export default {
}, },
_handlePaste(e) { _handlePaste(e) {
e.preventDefault(); e.preventDefault();
const { clipboardData } = e; const clipboardData = e.clipboardData || window.clipboardData;
const text = clipboardData.getData("text"); const text = clipboardData.getData("Text");
exec(text, "insertText"); if(window.clipboardData){
// Array.from(clipboardData.items).forEach(item => { this.$refs.textarea.innerHTML = text;
// console.log(item.type); }else{
// }); exec(text, "insertText");
//e.target.innerText = text; }
}, },
_handleKeyup(e) { _handleKeyup(e) {
this._saveLastRange(); this._saveLastRange();
//this._checkSubmitDisabled(); this._checkSubmitDisabled();
}, },
_handleKeydown(e) { _handleKeydown(e) {
if(this.submitDisabled == false && this.sendKey(e)){ if(this.submitDisabled == false && this.sendKey(e)){
@@ -243,15 +239,16 @@ export default {
} }
}, },
getFormatValue() { getFormatValue() {
return toEmojiName( // return toEmojiName(
this.$refs.textarea.innerHTML // this.$refs.textarea.innerHTML
.replace(/<br>|<\/br>/, "") // .replace(/<br>|<\/br>/, "")
.replace(/<div>|<p>/g, "\r\n") // .replace(/<div>|<p>/g, "\r\n")
.replace(/<\/div>|<\/p>/g, "") // .replace(/<\/div>|<\/p>/g, "")
); // );
return toEmojiName(this.$refs.textarea.innerHTML);
}, },
_checkSubmitDisabled() { _checkSubmitDisabled() {
this.submitDisabled = !this.$refs.textarea.innerHTML.trim(); this.submitDisabled = !this.$refs.textarea.innerText.trim();
}, },
_handleSend(e) { _handleSend(e) {
const text = this.getFormatValue(); const text = this.getFormatValue();
+12 -14
View File
@@ -653,11 +653,16 @@ export default {
* EmojiItem = {name: wx,title: 微笑,src: url} 无分组 * EmojiItem = {name: wx,title: 微笑,src: url} 无分组
*/ */
initEmoji(data) { initEmoji(data) {
let flatData = [];
this.$refs.editor.initEmoji(data); this.$refs.editor.initEmoji(data);
if (data[0].label) { if (data[0].label) {
data = data.flatMap(item => item.children); data.forEach(item=>{
flatData.push(...item.children);
})
}else{
flatData = data;
} }
data.forEach(({ name, src }) => (emojiMap[name] = src)); flatData.forEach(({ name, src }) => (emojiMap[name] = src));
}, },
initEditorTools(data){ initEditorTools(data){
this.editorTools = data; this.editorTools = data;
@@ -802,19 +807,11 @@ export default {
return this.findContactIndexById(contactId) !== -1; return this.findContactIndexById(contactId) !== -1;
}, },
findMessage(messageId){ findMessage(messageId){
return Object.values(allMessages).flat().find(({id})=>id == messageId); for(const key in allMessages){
const message = allMessages[key].find(({id})=>id == messageId)
if(message) return message;
}
}, },
// findMessageIndexById(messageId, contactId) {
// const msg = messages[contactId];
// if (isEmpty(msg)) {
// return -1;
// }
// return msg.findIndex(item => item.id == messageId);
// },
// findMessageById(messageId, contactId) {
// const index = this.findMessageIndexById(messageId, contactId);
// if (index !== -1) return messages[contactId][index];
// },
/** /**
* 返回所有联系人 * 返回所有联系人
* @return {Array<Contact>} * @return {Array<Contact>}
@@ -858,6 +855,7 @@ bezier = cubic-bezier(0.645, 0.045, 0.355, 1)
+b(lemon-wrapper) +b(lemon-wrapper)
display flex display flex
font-size 14px font-size 14px
font-family "Microsoft YaHei"
//mask-image radial-gradient(circle, white 100%, black 100%) //mask-image radial-gradient(circle, white 100%, black 100%)
background #efefef background #efefef
transition all .4s bezier transition all .4s bezier
+2 -1
View File
@@ -1,3 +1,4 @@
import {clearHtml } from 'utils';
export default { export default {
file(message) { file(message) {
return "[文件]"; return "[文件]";
@@ -6,7 +7,7 @@ export default {
return "[图片]"; return "[图片]";
}, },
text(message) { text(message) {
return this.replaceEmojiName(message.content); return this.replaceEmojiName(clearHtml(message.content));
}, },
event(message){ event(message){
return '[通知]'; return '[通知]';
+4
View File
@@ -70,6 +70,10 @@ export function funCall(event, callback) {
export function arrayIntersect(a, b) { export function arrayIntersect(a, b) {
return a.filter(x => b.includes(x)); return a.filter(x => b.includes(x));
} }
//清除字符串内的所有HTML标签
export function clearHtml(str){
return str.replace(/<.*?>/ig,"");
}
export function error(text) { export function error(text) {
throw new Error(text); throw new Error(text);