v1.7.0
This commit is contained in:
1 parent
daeec230ab
commit
a947018393
14 files changed
+216
-54
No files matched your search
Vendored
+59
-19
@@ -6951,6 +6951,7 @@ var editor_component = normalizeComponent(
|
||||
|
||||
|
||||
|
||||
|
||||
/* harmony default export */ var messagesvue_type_script_lang_js_ = ({
|
||||
name: "LemonMessages",
|
||||
components: {},
|
||||
@@ -6970,6 +6971,13 @@ var editor_component = normalizeComponent(
|
||||
return hoursTimeFormat(val);
|
||||
}
|
||||
},
|
||||
loadingText: {
|
||||
type: [String, Function]
|
||||
},
|
||||
loadendText: {
|
||||
type: [String, Function],
|
||||
default: "暂无更多消息"
|
||||
},
|
||||
messages: {
|
||||
type: Array,
|
||||
default: function _default() {
|
||||
@@ -6978,6 +6986,7 @@ var editor_component = normalizeComponent(
|
||||
}
|
||||
},
|
||||
data: function data() {
|
||||
this._lockScroll = false;
|
||||
return {
|
||||
_loading: false,
|
||||
_loadend: false
|
||||
@@ -6995,7 +7004,13 @@ var editor_component = normalizeComponent(
|
||||
}
|
||||
}, [h("div", {
|
||||
"class": ["lemon-messages__load", "lemon-messages__load--".concat(this._loadend ? "end" : "ing")]
|
||||
}, [this._loadend ? this._renderLoadEnd() : this._renderLoading()]), this.messages.map(function (message, index) {
|
||||
}, [h("span", {
|
||||
"class": "lemon-messages__loadend"
|
||||
}, [isString(this.loadendText) ? this.loadendText : this.loadendText()]), h("span", {
|
||||
"class": "lemon-messages__loading"
|
||||
}, [this.loadingText ? isString(this.loadingText) ? this.loadingText : this.loadingText() : h("i", {
|
||||
"class": "lemon-icon-loading lemonani-spin"
|
||||
})])]), this.messages.map(function (message, index) {
|
||||
var node = [];
|
||||
var tagName = "lemon-message-".concat(message.type);
|
||||
var prev = _this.messages[index - 1];
|
||||
@@ -7044,48 +7059,52 @@ var editor_component = normalizeComponent(
|
||||
},
|
||||
watch: {},
|
||||
methods: {
|
||||
_renderLoading: function _renderLoading() {
|
||||
var h = this.$createElement;
|
||||
return h("i", {
|
||||
"class": "lemon-icon-loading lemonani-spin"
|
||||
});
|
||||
},
|
||||
_renderLoadEnd: function _renderLoadEnd() {
|
||||
var h = this.$createElement;
|
||||
return h("span", ["\u6682\u65E0\u66F4\u591A\u6D88\u606F"]);
|
||||
},
|
||||
loaded: function loaded() {
|
||||
this._loadend = true;
|
||||
this.$forceUpdate();
|
||||
},
|
||||
resetLoadState: function resetLoadState() {
|
||||
var _this2 = this;
|
||||
|
||||
this._lockScroll = true;
|
||||
this._loading = false;
|
||||
this._loadend = false;
|
||||
setTimeout(function () {
|
||||
_this2._lockScroll = false;
|
||||
}, 200);
|
||||
},
|
||||
_handleScroll: function () {
|
||||
var _handleScroll2 = _asyncToGenerator(
|
||||
/*#__PURE__*/
|
||||
regeneratorRuntime.mark(function _callee2(e) {
|
||||
var _this2 = this;
|
||||
var _this3 = this;
|
||||
|
||||
var target, hst;
|
||||
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
||||
while (1) {
|
||||
switch (_context2.prev = _context2.next) {
|
||||
case 0:
|
||||
if (!this._lockScroll) {
|
||||
_context2.next = 2;
|
||||
break;
|
||||
}
|
||||
|
||||
return _context2.abrupt("return");
|
||||
|
||||
case 2:
|
||||
target = e.target;
|
||||
contextmenu.hide();
|
||||
|
||||
if (!(target.scrollTop == 0 && this._loading == false && this._loadend == false)) {
|
||||
_context2.next = 8;
|
||||
_context2.next = 10;
|
||||
break;
|
||||
}
|
||||
|
||||
this._loading = true;
|
||||
_context2.next = 6;
|
||||
_context2.next = 8;
|
||||
return this.$nextTick();
|
||||
|
||||
case 6:
|
||||
case 8:
|
||||
hst = target.scrollHeight;
|
||||
this.$emit("reach-top",
|
||||
/*#__PURE__*/
|
||||
@@ -7098,12 +7117,12 @@ var editor_component = normalizeComponent(
|
||||
switch (_context.prev = _context.next) {
|
||||
case 0:
|
||||
_context.next = 2;
|
||||
return _this2.$nextTick();
|
||||
return _this3.$nextTick();
|
||||
|
||||
case 2:
|
||||
target.scrollTop = target.scrollHeight - hst;
|
||||
_this2._loading = false;
|
||||
_this2._loadend = !!isEnd;
|
||||
_this3._loading = false;
|
||||
_this3._loadend = !!isEnd;
|
||||
|
||||
case 5:
|
||||
case "end":
|
||||
@@ -7118,7 +7137,7 @@ var editor_component = normalizeComponent(
|
||||
};
|
||||
}());
|
||||
|
||||
case 8:
|
||||
case 10:
|
||||
case "end":
|
||||
return _context2.stop();
|
||||
}
|
||||
@@ -7818,6 +7837,8 @@ var renderDrawerContent = function renderDrawerContent() {};
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
loadingText: [String, Function],
|
||||
loadendText: [String, Function],
|
||||
|
||||
/**
|
||||
* 消息时间格式化规则
|
||||
@@ -8312,6 +8333,8 @@ var renderDrawerContent = function renderDrawerContent() {};
|
||||
}, [h("lemon-messages", {
|
||||
"ref": "messages",
|
||||
"attrs": {
|
||||
"loading-text": this.loadingText,
|
||||
"loadend-text": this.loadendText,
|
||||
"hide-time": this.hideMessageTime,
|
||||
"hide-name": this.hideMessageName,
|
||||
"time-format": this.messageTimeFormat,
|
||||
@@ -8856,6 +8879,23 @@ var renderDrawerContent = function renderDrawerContent() {};
|
||||
return this.$refs.editor.getFormatValue();
|
||||
},
|
||||
|
||||
/**
|
||||
* 清空某个联系人的消息,切换到该联系人时会重新触发pull-messages事件
|
||||
*/
|
||||
clearMessages: function clearMessages(contactId) {
|
||||
if (contactId) {
|
||||
delete allMessages[contactId];
|
||||
this.CacheMessageLoaded.remove(contactId);
|
||||
this.CacheDraft.remove(contactId);
|
||||
} else {
|
||||
allMessages = {};
|
||||
this.CacheMessageLoaded.remove();
|
||||
this.CacheDraft.remove();
|
||||
}
|
||||
|
||||
return true;
|
||||
},
|
||||
|
||||
/**
|
||||
* 返回所有消息
|
||||
* @return {Object<Contact.id,Message>}
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
.lemon-popover{border:1px solid #eee;font-size:14px;font-variant:tabular-nums;line-height:1.5;color:rgba(0,0,0,.65);z-index:10;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.08);position:absolute;-webkit-transform-origin:50% 150%;transform-origin:50% 150%}.lemon-popover__content{padding:15px;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;z-index:1}.lemon-popover__arrow{left:50%;-webkit-transform:translateX(-50%) rotate(45deg);transform:translateX(-50%) rotate(45deg);position:absolute;z-index:0;bottom:-4px;-webkit-box-shadow:3px 3px 7px rgba(0,0,0,.07);box-shadow:3px 3px 7px rgba(0,0,0,.07);width:8px;height:8px;background:#fff}.lemon-slide-top-enter-active,.lemon-slide-top-leave-active{-webkit-transition:all .2s cubic-bezier(.645,.045,.355,1);transition:all .2s cubic-bezier(.645,.045,.355,1)}.lemon-slide-top-enter,.lemon-slide-top-leave-to{-webkit-transform:translateY(-10px) scale(.8);transform:translateY(-10px) scale(.8);opacity:0}.lemon-tabs{background:#f6f6f6}.lemon-tabs-content{padding:15px}.lemon-tabs-content,.lemon-tabs-content__pane{width:100%;height:100%}.lemon-tabs-nav{display:-webkit-box;display:-ms-flexbox;display:flex;background:#eee}.lemon-tabs-nav__item{line-height:38px;padding:0 15px;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.lemon-tabs-nav__item--active{background:#f6f6f6}.lemon-button{outline:none;line-height:1.499;display:inline-block;font-weight:400;text-align:center;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid #ddd;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;padding:0 15px;font-size:14px;border-radius:4px;height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);color:rgba(0,0,0,.65);background-color:#fff;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.015);box-shadow:0 2px 0 rgba(0,0,0,.015);text-shadow:0 -1px 0 rgba(0,0,0,.12)}.lemon-button--color-default:hover:not([disabled]){border-color:#666;color:#333}.lemon-button--color-default:active{background-color:#ddd}.lemon-button--color-default[disabled]{cursor:not-allowed;color:#aaa;background:#eee}.lemon-button--color-grey{background:#e1e1e1;border-color:#e1e1e1;color:#666}.lemon-button--color-grey:hover:not([disabled]){border-color:#bbb}.lemon-badge{position:relative;display:inline-block}.lemon-badge__label{border-radius:10px;background:#f5222d;color:#fff;text-align:center;font-size:12px;font-weight:400;white-space:nowrap;-webkit-box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px #fff;z-index:10;position:absolute;-webkit-transform:translateX(50%);transform:translateX(50%);-webkit-transform-origin:100%;transform-origin:100%;display:inline-block;padding:0 4px;height:18px;line-height:17px;min-width:10px;top:-4px;right:6px}.lemon-badge__label--dot{width:10px;height:10px;min-width:auto;padding:0;top:-3px;right:2px}.lemon-avatar{font-variant:tabular-nums;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-block;text-align:center;background:#ccc;color:hsla(0,0%,100%,.7);white-space:nowrap;position:relative;overflow:hidden;vertical-align:middle;border-radius:4px}.lemon-avatar--circle{border-radius:50%}.lemon-avatar img{width:100%;height:100%;display:block}.lemon-contact{padding:10px 14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;background:#efefef;text-align:left}.lemon-contact p{margin:0}.lemon-contact--active{background:#bebdbd}.lemon-contact:hover:not(.lemon-contact--active){background:#e3e3e3}.lemon-contact:hover:not(.lemon-contact--active) .el-badge__content{border-color:#ddd}.lemon-contact__avatar{float:left;margin-right:10px}.lemon-contact__avatar img{display:block}.lemon-contact__avatar .ant-badge-count{display:inline-block;padding:0 4px;height:18px;line-height:18px;min-width:18px;top:-4px;right:7px}.lemon-contact__label{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-contact__time{font-size:12px;line-height:18px;padding-left:6px;color:#999;white-space:nowrap}.lemon-contact__name{display:block;width:100%}.lemon-contact__content,.lemon-contact__name{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.lemon-contact__content{font-size:12px;color:#999;height:18px;line-height:18px;margin-top:1px!important}.lemon-contact__content img{height:14px;display:inline-block;vertical-align:middle;margin:0 1px;position:relative;top:-1px}.lemon-contact--name-center .lemon-contact__label{padding-bottom:0;line-height:38px}.lemon-editor{height:200px;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-diLine truncated
|
||||
.lemon-popover{border:1px solid #eee;font-size:14px;font-variant:tabular-nums;line-height:1.5;color:rgba(0,0,0,.65);z-index:10;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.08);position:absolute;-webkit-transform-origin:50% 150%;transform-origin:50% 150%}.lemon-popover__content{padding:15px;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;z-index:1}.lemon-popover__arrow{left:50%;-webkit-transform:translateX(-50%) rotate(45deg);transform:translateX(-50%) rotate(45deg);position:absolute;z-index:0;bottom:-4px;-webkit-box-shadow:3px 3px 7px rgba(0,0,0,.07);box-shadow:3px 3px 7px rgba(0,0,0,.07);width:8px;height:8px;background:#fff}.lemon-slide-top-enter-active,.lemon-slide-top-leave-active{-webkit-transition:all .2s cubic-bezier(.645,.045,.355,1);transition:all .2s cubic-bezier(.645,.045,.355,1)}.lemon-slide-top-enter,.lemon-slide-top-leave-to{-webkit-transform:translateY(-10px) scale(.8);transform:translateY(-10px) scale(.8);opacity:0}.lemon-tabs{background:#f6f6f6}.lemon-tabs-content{padding:15px}.lemon-tabs-content,.lemon-tabs-content__pane{width:100%;height:100%}.lemon-tabs-nav{display:-webkit-box;display:-ms-flexbox;display:flex;background:#eee}.lemon-tabs-nav__item{line-height:38px;padding:0 15px;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.lemon-tabs-nav__item--active{background:#f6f6f6}.lemon-button{outline:none;line-height:1.499;display:inline-block;font-weight:400;text-align:center;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid #ddd;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;padding:0 15px;font-size:14px;border-radius:4px;height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);color:rgba(0,0,0,.65);background-color:#fff;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.015);box-shadow:0 2px 0 rgba(0,0,0,.015);text-shadow:0 -1px 0 rgba(0,0,0,.12)}.lemon-button--color-default:hover:not([disabled]){border-color:#666;color:#333}.lemon-button--color-default:active{background-color:#ddd}.lemon-button--color-default[disabled]{cursor:not-allowed;color:#aaa;background:#eee}.lemon-button--color-grey{background:#e1e1e1;border-color:#e1e1e1;color:#666}.lemon-button--color-grey:hover:not([disabled]){border-color:#bbb}.lemon-badge{position:relative;display:inline-block}.lemon-badge__label{border-radius:10px;background:#f5222d;color:#fff;text-align:center;font-size:12px;font-weight:400;white-space:nowrap;-webkit-box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px #fff;z-index:10;position:absolute;-webkit-transform:translateX(50%);transform:translateX(50%);-webkit-transform-origin:100%;transform-origin:100%;display:inline-block;padding:0 4px;height:18px;line-height:17px;min-width:10px;top:-4px;right:6px}.lemon-badge__label--dot{width:10px;height:10px;min-width:auto;padding:0;top:-3px;right:2px}.lemon-avatar{font-variant:tabular-nums;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-block;text-align:center;background:#ccc;color:hsla(0,0%,100%,.7);white-space:nowrap;position:relative;overflow:hidden;vertical-align:middle;border-radius:4px}.lemon-avatar--circle{border-radius:50%}.lemon-avatar img{width:100%;height:100%;display:block}.lemon-contact{padding:10px 14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;background:#efefef;text-align:left}.lemon-contact p{margin:0}.lemon-contact--active{background:#bebdbd}.lemon-contact:hover:not(.lemon-contact--active){background:#e3e3e3}.lemon-contact:hover:not(.lemon-contact--active) .el-badge__content{border-color:#ddd}.lemon-contact__avatar{float:left;margin-right:10px}.lemon-contact__avatar img{display:block}.lemon-contact__avatar .ant-badge-count{display:inline-block;padding:0 4px;height:18px;line-height:18px;min-width:18px;top:-4px;right:7px}.lemon-contact__label{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-contact__time{font-size:12px;line-height:18px;padding-left:6px;color:#999;white-space:nowrap}.lemon-contact__name{display:block;width:100%}.lemon-contact__content,.lemon-contact__name{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.lemon-contact__content{font-size:12px;color:#999;height:18px;line-height:18px;margin-top:1px!important}.lemon-contact__content img{height:14px;display:inline-block;vertical-align:middle;margin:0 1px;position:relative;top:-1px}.lemon-contact--name-center .lemon-contact__label{padding-bottom:0;line-height:38px}.lemon-editor{height:200px;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-diLine truncated
|
||||
Vendored
+59
-19
@@ -6960,6 +6960,7 @@ var editor_component = normalizeComponent(
|
||||
|
||||
|
||||
|
||||
|
||||
/* harmony default export */ var messagesvue_type_script_lang_js_ = ({
|
||||
name: "LemonMessages",
|
||||
components: {},
|
||||
@@ -6979,6 +6980,13 @@ var editor_component = normalizeComponent(
|
||||
return hoursTimeFormat(val);
|
||||
}
|
||||
},
|
||||
loadingText: {
|
||||
type: [String, Function]
|
||||
},
|
||||
loadendText: {
|
||||
type: [String, Function],
|
||||
default: "暂无更多消息"
|
||||
},
|
||||
messages: {
|
||||
type: Array,
|
||||
default: function _default() {
|
||||
@@ -6987,6 +6995,7 @@ var editor_component = normalizeComponent(
|
||||
}
|
||||
},
|
||||
data: function data() {
|
||||
this._lockScroll = false;
|
||||
return {
|
||||
_loading: false,
|
||||
_loadend: false
|
||||
@@ -7004,7 +7013,13 @@ var editor_component = normalizeComponent(
|
||||
}
|
||||
}, [h("div", {
|
||||
"class": ["lemon-messages__load", "lemon-messages__load--".concat(this._loadend ? "end" : "ing")]
|
||||
}, [this._loadend ? this._renderLoadEnd() : this._renderLoading()]), this.messages.map(function (message, index) {
|
||||
}, [h("span", {
|
||||
"class": "lemon-messages__loadend"
|
||||
}, [isString(this.loadendText) ? this.loadendText : this.loadendText()]), h("span", {
|
||||
"class": "lemon-messages__loading"
|
||||
}, [this.loadingText ? isString(this.loadingText) ? this.loadingText : this.loadingText() : h("i", {
|
||||
"class": "lemon-icon-loading lemonani-spin"
|
||||
})])]), this.messages.map(function (message, index) {
|
||||
var node = [];
|
||||
var tagName = "lemon-message-".concat(message.type);
|
||||
var prev = _this.messages[index - 1];
|
||||
@@ -7053,48 +7068,52 @@ var editor_component = normalizeComponent(
|
||||
},
|
||||
watch: {},
|
||||
methods: {
|
||||
_renderLoading: function _renderLoading() {
|
||||
var h = this.$createElement;
|
||||
return h("i", {
|
||||
"class": "lemon-icon-loading lemonani-spin"
|
||||
});
|
||||
},
|
||||
_renderLoadEnd: function _renderLoadEnd() {
|
||||
var h = this.$createElement;
|
||||
return h("span", ["\u6682\u65E0\u66F4\u591A\u6D88\u606F"]);
|
||||
},
|
||||
loaded: function loaded() {
|
||||
this._loadend = true;
|
||||
this.$forceUpdate();
|
||||
},
|
||||
resetLoadState: function resetLoadState() {
|
||||
var _this2 = this;
|
||||
|
||||
this._lockScroll = true;
|
||||
this._loading = false;
|
||||
this._loadend = false;
|
||||
setTimeout(function () {
|
||||
_this2._lockScroll = false;
|
||||
}, 200);
|
||||
},
|
||||
_handleScroll: function () {
|
||||
var _handleScroll2 = _asyncToGenerator(
|
||||
/*#__PURE__*/
|
||||
regeneratorRuntime.mark(function _callee2(e) {
|
||||
var _this2 = this;
|
||||
var _this3 = this;
|
||||
|
||||
var target, hst;
|
||||
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
||||
while (1) {
|
||||
switch (_context2.prev = _context2.next) {
|
||||
case 0:
|
||||
if (!this._lockScroll) {
|
||||
_context2.next = 2;
|
||||
break;
|
||||
}
|
||||
|
||||
return _context2.abrupt("return");
|
||||
|
||||
case 2:
|
||||
target = e.target;
|
||||
contextmenu.hide();
|
||||
|
||||
if (!(target.scrollTop == 0 && this._loading == false && this._loadend == false)) {
|
||||
_context2.next = 8;
|
||||
_context2.next = 10;
|
||||
break;
|
||||
}
|
||||
|
||||
this._loading = true;
|
||||
_context2.next = 6;
|
||||
_context2.next = 8;
|
||||
return this.$nextTick();
|
||||
|
||||
case 6:
|
||||
case 8:
|
||||
hst = target.scrollHeight;
|
||||
this.$emit("reach-top",
|
||||
/*#__PURE__*/
|
||||
@@ -7107,12 +7126,12 @@ var editor_component = normalizeComponent(
|
||||
switch (_context.prev = _context.next) {
|
||||
case 0:
|
||||
_context.next = 2;
|
||||
return _this2.$nextTick();
|
||||
return _this3.$nextTick();
|
||||
|
||||
case 2:
|
||||
target.scrollTop = target.scrollHeight - hst;
|
||||
_this2._loading = false;
|
||||
_this2._loadend = !!isEnd;
|
||||
_this3._loading = false;
|
||||
_this3._loadend = !!isEnd;
|
||||
|
||||
case 5:
|
||||
case "end":
|
||||
@@ -7127,7 +7146,7 @@ var editor_component = normalizeComponent(
|
||||
};
|
||||
}());
|
||||
|
||||
case 8:
|
||||
case 10:
|
||||
case "end":
|
||||
return _context2.stop();
|
||||
}
|
||||
@@ -7827,6 +7846,8 @@ var renderDrawerContent = function renderDrawerContent() {};
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
loadingText: [String, Function],
|
||||
loadendText: [String, Function],
|
||||
|
||||
/**
|
||||
* 消息时间格式化规则
|
||||
@@ -8321,6 +8342,8 @@ var renderDrawerContent = function renderDrawerContent() {};
|
||||
}, [h("lemon-messages", {
|
||||
"ref": "messages",
|
||||
"attrs": {
|
||||
"loading-text": this.loadingText,
|
||||
"loadend-text": this.loadendText,
|
||||
"hide-time": this.hideMessageTime,
|
||||
"hide-name": this.hideMessageName,
|
||||
"time-format": this.messageTimeFormat,
|
||||
@@ -8865,6 +8888,23 @@ var renderDrawerContent = function renderDrawerContent() {};
|
||||
return this.$refs.editor.getFormatValue();
|
||||
},
|
||||
|
||||
/**
|
||||
* 清空某个联系人的消息,切换到该联系人时会重新触发pull-messages事件
|
||||
*/
|
||||
clearMessages: function clearMessages(contactId) {
|
||||
if (contactId) {
|
||||
delete allMessages[contactId];
|
||||
this.CacheMessageLoaded.remove(contactId);
|
||||
this.CacheDraft.remove(contactId);
|
||||
} else {
|
||||
allMessages = {};
|
||||
this.CacheMessageLoaded.remove();
|
||||
this.CacheDraft.remove();
|
||||
}
|
||||
|
||||
return true;
|
||||
},
|
||||
|
||||
/**
|
||||
* 返回所有消息
|
||||
* @return {Object<Contact.id,Message>}
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
(function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e(require("vue")):"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["index"]=e(require("vue")):t["index"]=e(t["Vue"])})("undefined"!==typeof self?self:this,function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="fb15")}({"01f9":function(t,e,n){"use strict";var r=n("2d00"),i=n("5ca1"),o=n("2aba"),a=n("32e9"),c=n("84f2"),s=n("41a0"),u=n("7f20"),f=n("38fd"),l=n("2b4c")("iterator"),d=!([].keys&&"next"in[].keys()),h="@@iterator",p="keys",v="values",m=function(){return this};t.exports=function(t,e,n,g,b,y,x){s(n,e,g);var _,w,S,C=function(t){if(!d&&t in M)return M[t];switch(t){case p:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},O=e+" Iterator",j=b==v,I=!1,M=t.prototype,k=M[l]||M[h]||b&&M[b],T=k||C(b),E=b?j?C("entries"):T:void 0,L="Array"==e&&M.entries||k;if(L&&(S=f(L.call(new t)),S!==Object.prototype&&S.next&&(u(S,O,!0),r||"function"==typeof S[l]||a(S,l,m))),j&&k&&k.name!==v&&(I=!0,T=function(){return k.call(this)}),r&&!x||!d&&!I&&M[l]||a(M,l,T),c[e]=T,c[O]=m,b)if(_={values:j?T:C(v),keys:y?T:C(p),entries:E},x)for(w in _)w in M||o(M,w,_[w]);else i(i.P+i.F*(d||I),e,_);return _}},"02f4":function(t,e,n){var r=n("4588"),i=n("be13");t.exports=function(t){return function(e,n){var o,a,c=String(i(e)),s=r(n),u=c.length;return s<0||s>=u?t?"":void 0:(o=c.charCodeAt(s),o<55296||o>56319||s+1===u||(a=c.charCodeAt(s+1))<56320||a>57343?t?c.charAt(s):o:t?c.slice(s,s+2):a-56320+(o-55296<<10)+65536)}}},"0390":function(t,e,n){"use strict";var r=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"04f4":function(t,e,n){"use strict";var r=n("26f7"),i=n.n(r);i.a},"07e3":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"0a49":function(t,e,n){var r=n("9b43"),i=n("626a"),o=n("4bf8"),a=n("9def"),c=n("cd1c");t.exports=function(t,e){var n=1==t,s=2==t,u=3==t,f=4==t,l=6==t,d=5==t||l,h=e||c;return function(e,c,p){for(var v,m,g=o(e),b=i(g),y=r(c,p,3),x=a(b.length),_=0,w=n?h(e,x):s?h(e,0):void 0;x>_;_++)if((d||_ in b)&&(v=b[_],m=y(v,_,g),t))if(n)w[_]=m;else if(m)switch(t){case 3:return!0;case 5:return v;case 6:return _;case 2:w.push(v)}else if(f)return!1;return l?-1:u||f?f:w}}},"0af2":function(t,e,n){},"0bfb":function(t,e,n){"use strict";var r=n("cb7c");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0d58":function(t,e,n){var r=n("ce10"),i=n("e11e");t.exports=Object.keys||function(t){return r(t,i)}},"0e15":function(t,e,n){"use strict";var r=n("9768"),i=n.n(r);i.a},"0fc9":function(t,e,n){var r=n("3a38"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},1021:function(t,e,n){},"107a":function(t,e,n){},1169:function(t,e,n){var r=n("2d95");t.exports=Array.isArray||function(t){return"Array"==r(t)}},1173:function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},"11e9":function(t,e,n){var r=n("52a7"),i=n("4630"),o=n("6821"),a=n("6a99"),c=n("69a8"),s=n("c69a"),u=Object.getOwnPropertyDescriptor;e.f=n("9e1e")?u:function(t,e){if(t=o(t),e=a(e,!0),s)try{return u(t,e)}catch(n){}if(c(t,e))return i(!r.f.call(t,e),t[e])}},1495:function(t,e,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),c=a.length,s=0;while(c>s)r.f(t,n=a[s++],e[n]);return t}},"15cf":function(t,e,n){},1654:function(t,e,n){"use strict";var r=n("71c1")(!0);n("30f1")(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},1663:function(t,e,n){"use strict";var r=n("e86c"),i=n.n(r);i.a},1691:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"1af6":function(t,e,n){var r=n("63b6");r(r.S,"Array",{isALine truncated
|
||||
(function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e(require("vue")):"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["index"]=e(require("vue")):t["index"]=e(t["Vue"])})("undefined"!==typeof self?self:this,function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="fb15")}({"01f9":function(t,e,n){"use strict";var r=n("2d00"),i=n("5ca1"),o=n("2aba"),a=n("32e9"),c=n("84f2"),s=n("41a0"),u=n("7f20"),f=n("38fd"),l=n("2b4c")("iterator"),d=!([].keys&&"next"in[].keys()),h="@@iterator",p="keys",v="values",m=function(){return this};t.exports=function(t,e,n,g,b,y,x){s(n,e,g);var _,w,S,C=function(t){if(!d&&t in I)return I[t];switch(t){case p:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},O=e+" Iterator",j=b==v,T=!1,I=t.prototype,k=I[l]||I[h]||b&&I[b],M=k||C(b),E=b?j?C("entries"):M:void 0,L="Array"==e&&I.entries||k;if(L&&(S=f(L.call(new t)),S!==Object.prototype&&S.next&&(u(S,O,!0),r||"function"==typeof S[l]||a(S,l,m))),j&&k&&k.name!==v&&(T=!0,M=function(){return k.call(this)}),r&&!x||!d&&!T&&I[l]||a(I,l,M),c[e]=M,c[O]=m,b)if(_={values:j?M:C(v),keys:y?M:C(p),entries:E},x)for(w in _)w in I||o(I,w,_[w]);else i(i.P+i.F*(d||T),e,_);return _}},"02f4":function(t,e,n){var r=n("4588"),i=n("be13");t.exports=function(t){return function(e,n){var o,a,c=String(i(e)),s=r(n),u=c.length;return s<0||s>=u?t?"":void 0:(o=c.charCodeAt(s),o<55296||o>56319||s+1===u||(a=c.charCodeAt(s+1))<56320||a>57343?t?c.charAt(s):o:t?c.slice(s,s+2):a-56320+(o-55296<<10)+65536)}}},"0390":function(t,e,n){"use strict";var r=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"04f4":function(t,e,n){"use strict";var r=n("26f7"),i=n.n(r);i.a},"07e3":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"0a49":function(t,e,n){var r=n("9b43"),i=n("626a"),o=n("4bf8"),a=n("9def"),c=n("cd1c");t.exports=function(t,e){var n=1==t,s=2==t,u=3==t,f=4==t,l=6==t,d=5==t||l,h=e||c;return function(e,c,p){for(var v,m,g=o(e),b=i(g),y=r(c,p,3),x=a(b.length),_=0,w=n?h(e,x):s?h(e,0):void 0;x>_;_++)if((d||_ in b)&&(v=b[_],m=y(v,_,g),t))if(n)w[_]=m;else if(m)switch(t){case 3:return!0;case 5:return v;case 6:return _;case 2:w.push(v)}else if(f)return!1;return l?-1:u||f?f:w}}},"0af2":function(t,e,n){},"0bfb":function(t,e,n){"use strict";var r=n("cb7c");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0d58":function(t,e,n){var r=n("ce10"),i=n("e11e");t.exports=Object.keys||function(t){return r(t,i)}},"0e15":function(t,e,n){"use strict";var r=n("9768"),i=n.n(r);i.a},"0fc9":function(t,e,n){var r=n("3a38"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},1021:function(t,e,n){},"107a":function(t,e,n){},1169:function(t,e,n){var r=n("2d95");t.exports=Array.isArray||function(t){return"Array"==r(t)}},1173:function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},"11e9":function(t,e,n){var r=n("52a7"),i=n("4630"),o=n("6821"),a=n("6a99"),c=n("69a8"),s=n("c69a"),u=Object.getOwnPropertyDescriptor;e.f=n("9e1e")?u:function(t,e){if(t=o(t),e=a(e,!0),s)try{return u(t,e)}catch(n){}if(c(t,e))return i(!r.f.call(t,e),t[e])}},1495:function(t,e,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),c=a.length,s=0;while(c>s)r.f(t,n=a[s++],e[n]);return t}},"15cf":function(t,e,n){},1654:function(t,e,n){"use strict";var r=n("71c1")(!0);n("30f1")(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},1663:function(t,e,n){"use strict";var r=n("e86c"),i=n.n(r);i.a},1691:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"1af6":function(t,e,n){var r=n("63b6");r(r.S,"Array",{isALine truncated
|
||||
@@ -396,6 +396,27 @@
|
||||
<td width="100">default</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="150">theme</td>
|
||||
<td width="350">主题</td>
|
||||
<td width="150">default | blue</td>
|
||||
<td width="100">default</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="150">loadingText</td>
|
||||
<td width="350">消息加载文字</td>
|
||||
<td width="150">String | Function</td>
|
||||
<td width="100"></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="150">loadendText</td>
|
||||
<td width="350">消息加载结束文字</td>
|
||||
<td width="150">String | Function</td>
|
||||
<td width="100">暂无更多消息</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="150">avatarCricle</td>
|
||||
<td width="350">使用圆形头像</td>
|
||||
@@ -594,6 +615,15 @@
|
||||
<td>-</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clearMessages</td>
|
||||
<td>
|
||||
清空某个联系人的本地消息记录,重新切换到该联系人时会再次触发pull-messages事件,Contact.id为空则清空所有
|
||||
</td>
|
||||
<td>Function(Contact.id)=>Boolean</td>
|
||||
<td>-</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>getMessages</td>
|
||||
<td>返回所有本地消息,传入 Contact.id 则只返回与该联系人的消息</td>
|
||||
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
.lemon-message.lemon-message-voice{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message.lemon-message-voice .lemon-message__content{border:2px solid #000;font-size:12px;cursor:pointer}.lemon-message.lemon-message-voice .lemon-message__content:before{display:none}.slot-group{width:170px;border-left:1px solid #ddd;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:10px}.slot-group .slot-search{margin:5px 0}.slot-group-notice{color:#999;padding:6px 0;font-size:12px}.slot-group-title{font-size:12px}.slot-group-member{font-size:12px;line-height:18px}.slot-group-menu span{display:inline-block;cursor:pointer;color:#888;margin:4px 10px 0 0;border-bottom:2px solid transparent}.slot-group-menu span:hover{color:#000;border-color:#333}.slot-contact-fixedtop{padding:10px;border-bottom:1px solid #ddd}.slot-search{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;border:1px solid #bbb;padding:5px 10px}::-moz-selection{background:#000;color:#fff}::selection{background:#000;color:#fff}body{font-family:Microsoft YaHei;background:#f6f6f6!important}#app{width:90%;margin:0 auto;padding-bottom:100px}#app .scroll-top{cursor:pointer;position:fixed;bottom:40px;left:50%;border-radius:50%;background:#fff;font-size:18px;overflow:hidden;width:40px;height:40px;line-height:40px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;-webkit-transform:rotate(-45deg) translateX(-50%);transform:rotate(-45deg) translateX(-50%);-webkit-box-shadow:0 0 30px rgba(0,0,0,.1);box-shadow:0 0 30px rgba(0,0,0,.1)}#app .scroll-top:hover{font-size:22px}a{color:#0c5ed9;text-decoration:none;font-size:12px}.action{margin-top:20px}.action .lemon-button{margin-right:10px;margin-bottom:10px}.link{font-size:14px;margin-top:15px}.link a{margin:0 5px;text-decoration:none;background:#ffba00;border-radius:4px;padding:5px 10px;color:rgba(0,0,0,.8)}.link a,.logo{display:inline-block}.logo{position:relative;margin:60px auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.logo-text{font-size:38px}.logo-sub{font-size:18px;color:#999;font-weight:300}.logo-badge{position:absolute;top:-10px;left:230px;background:#000;border-radius:16px;color:#f9f9f9;font-size:12px;padding:4px 8px}.title{font-size:24px;line-height:26px;border-left:1px solid #ffba00;padding-left:15px;margin-bottom:15px;margin-top:30px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.table{width:100%;border-radius:10px;background:#fff;border-collapse:collapse}.table tr{cursor:pointer}.table tr:not(.table-head):hover{background:#ffba00!important}.table tr:nth-of-type(2n){background:#f9f9f9}.table th{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999}.table td,.table th{text-align:left;padding:10px 15px;font-size:14px;font-weight:400}.imui-center{margin-bottom:60px}.imui-center .lemon-wrapper{border:1px solid #ddd}.imui-center .lemon-drawer{border:1px solid #ddd;border-left:0}.drawer-content{padding:15px}.more{font-size:12px;line-height:24px;height:24px;position:absolute;top:14px;right:14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#f1f1f1;display:inline-block;border-radius:4px;background:#111;padding:0 8px}.more:active{background:#999}.bar{line-height:30px;background:#fff;margin:15px;color:#666;font-size:12px}.bar,.cover{text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cover{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cover i{font-size:84px;color:#e6e6e6}.cover p{font-size:18px;color:#ddd;line-height:50px}.article-item{line-height:34px;cursor:pointer}.article-item:hover{text-decoration:underline;color:#318efd}pre{background:#fff;border-radius:8px;padding:15px}.lemon-simple .lemon-container{z-index:5}.lemon-simple .lemon-drawer{z-index:4}input#switch[type=checkbox]{height:0;width:0;display:none}label#switch-label{cursor:pointer;text-indent:-9999px;width:34px;height:20px;background:#aaa;display:block;border-radius:100px;position:relative}label#switch-label:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:20px;-webkit-transition:.3s;transition:.3s}input#switch:checked+label{background:#0fd547}input#switch:checked+label:after{left:calc(100% - 2px);-webkit-transform:translateX(-100%);transform:translateX(-100%)}label#switch-label:active:after{width:20px}.lemon-popover{border:1px solid #eee;font-size:14px;font-variant:tabular-nums;line-height:1.5;color:rgba(0,0,0,.65);z-index:10;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.08);position:absolute;-webkit-transform-origin:50% 150%;transform-origin:50% 150%}.lemon-popover__content{padding:15px;-webkit-box-Line truncated
|
||||
Vendored
-1
@@ -1 +0,0 @@
|
||||
.lemon-message.lemon-message-voice{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message.lemon-message-voice .lemon-message__content{border:2px solid #000;font-size:12px;cursor:pointer}.lemon-message.lemon-message-voice .lemon-message__content:before{display:none}.slot-group{width:170px;border-left:1px solid #ddd;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:10px}.slot-group .slot-search{margin:5px 0}.slot-group-notice{color:#999;padding:6px 0;font-size:12px}.slot-group-title{font-size:12px}.slot-group-member{font-size:12px;line-height:18px}.slot-group-menu span{display:inline-block;cursor:pointer;color:#888;margin:4px 10px 0 0;border-bottom:2px solid transparent}.slot-group-menu span:hover{color:#000;border-color:#333}.slot-contact-fixedtop{padding:10px;border-bottom:1px solid #ddd}.slot-search{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;border:1px solid #bbb;padding:5px 10px}::-moz-selection{background:#000;color:#fff}::selection{background:#000;color:#fff}body{font-family:Microsoft YaHei;background:#f6f6f6!important}#app{width:90%;margin:0 auto;padding-bottom:100px}#app .scroll-top{cursor:pointer;position:fixed;bottom:40px;left:50%;border-radius:50%;background:#fff;font-size:18px;overflow:hidden;width:40px;height:40px;line-height:40px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;-webkit-transform:rotate(-45deg) translateX(-50%);transform:rotate(-45deg) translateX(-50%);-webkit-box-shadow:0 0 30px rgba(0,0,0,.1);box-shadow:0 0 30px rgba(0,0,0,.1)}#app .scroll-top:hover{font-size:22px}a{color:#0c5ed9;text-decoration:none;font-size:12px}.action{margin-top:20px}.action .lemon-button{margin-right:10px;margin-bottom:10px}.link{font-size:14px;margin-top:15px}.link a{margin:0 5px;text-decoration:none;background:#ffba00;border-radius:4px;padding:5px 10px;color:rgba(0,0,0,.8)}.link a,.logo{display:inline-block}.logo{position:relative;margin:60px auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.logo-text{font-size:38px}.logo-sub{font-size:18px;color:#999;font-weight:300}.logo-badge{position:absolute;top:-10px;left:230px;background:#000;border-radius:16px;color:#f9f9f9;font-size:12px;padding:4px 8px}.title{font-size:24px;line-height:26px;border-left:1px solid #ffba00;padding-left:15px;margin-bottom:15px;margin-top:30px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.table{width:100%;border-radius:10px;background:#fff;border-collapse:collapse}.table tr{cursor:pointer}.table tr:not(.table-head):hover{background:#ffba00!important}.table tr:nth-of-type(2n){background:#f9f9f9}.table th{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999}.table td,.table th{text-align:left;padding:10px 15px;font-size:14px;font-weight:400}.imui-center{margin-bottom:60px}.imui-center .lemon-wrapper{border:1px solid #ddd}.imui-center .lemon-drawer{border:1px solid #ddd;border-left:0}.drawer-content{padding:15px}.more{font-size:12px;line-height:24px;height:24px;position:absolute;top:14px;right:14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#f1f1f1;display:inline-block;border-radius:4px;background:#111;padding:0 8px}.more:active{background:#999}.bar{line-height:30px;background:#fff;margin:15px;color:#666;font-size:12px}.bar,.cover{text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cover{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cover i{font-size:84px;color:#e6e6e6}.cover p{font-size:18px;color:#ddd;line-height:50px}.article-item{line-height:34px;cursor:pointer}.article-item:hover{text-decoration:underline;color:#318efd}pre{background:#fff;border-radius:8px;padding:15px}.lemon-simple .lemon-container{z-index:5}.lemon-simple .lemon-drawer{z-index:4}input#switch[type=checkbox]{height:0;width:0;display:none}label#switch-label{cursor:pointer;text-indent:-9999px;width:34px;height:20px;background:#aaa;display:block;border-radius:100px;position:relative}label#switch-label:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:20px;-webkit-transition:.3s;transition:.3s}input#switch:checked+label{background:#0fd547}input#switch:checked+label:after{left:calc(100% - 2px);-webkit-transform:translateX(-100%);transform:translateX(-100%)}label#switch-label:active:after{width:20px}.lemon-popover{border:1px solid #eee;font-size:14px;font-variant:tabular-nums;line-height:1.5;color:rgba(0,0,0,.65);z-index:10;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.08);position:absolute;-webkit-transform-origin:50% 150%;transform-origin:50% 150%}.lemon-popover__content{padding:15px;-webkit-box-Line truncated
|
||||
Vendored
+1
-1
@@ -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.6fdb6837.css rel=preload as=style><link href=js/chunk-vendors.e4810482.js rel=preload as=script><link href=js/index.94c3664b.js rel=preload as=script><link href=css/index.6fdb6837.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.94c3664b.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.5b3d3f23.css rel=preload as=style><link href=js/chunk-vendors.e4810482.js rel=preload as=script><link href=js/index.7d134a38.js rel=preload as=script><link href=css/index.5b3d3f23.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.7d134a38.js></script></body></html>
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
(function(t){function e(e){for(var i,r,o=e[0],c=e[1],d=e[2],u=0,m=[];u<o.length;u++)r=o[u],a[r]&&m.push(a[r][0]),a[r]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(t[i]=c[i]);l&&l(e);while(m.length)m.shift()();return s.push.apply(s,d||[]),n()}function n(){for(var t,e=0;e<s.length;e++){for(var n=s[e],i=!0,o=1;o<n.length;o++){var c=n[o];0!==a[c]&&(i=!1)}i&&(s.splice(e--,1),t=r(r.s=n[0]))}return t}var i={},a={index:0},s=[];function r(e){if(i[e])return i[e].exports;var n=i[e]={i:e,l:!1,exports:{}};return t[e].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=t,r.c=i,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="";var o=window["webpackJsonp"]=window["webpackJsonp"]||[],c=o.push.bind(o);o.push=e,o=o.slice();for(var d=0;d<o.length;d++)e(o[d]);var l=c;s.push([0,"chunk-vendors"]),n()})({0:function(t,e,n){t.exports=n("c31f")},"04f4":function(t,e,n){"use strict";var i=n("26f7"),a=n.n(i);a.a},"08dd":function(t,e,n){},"0af2":function(t,e,n){},"0e15":function(t,e,n){"use strict";var i=n("9768"),a=n.n(i);a.a},1021:function(t,e,n){},"107a":function(t,e,n){},"15cf":function(t,e,n){},1663:function(t,e,n){"use strict";var i=n("e86c"),a=n.n(i);a.a},"1e45":function(t,e,n){"use strict";var i=n("83d7"),a=n.n(i);a.a},"26f7":function(t,e,n){},3423:function(t,e,n){"use strict";var i=n("107a"),a=n.n(i);a.a},"428f":function(t,e,n){},"436f":function(t,e,n){"use strict";var i=n("0af2"),a=n.n(i);a.a},"476d":function(t,e,n){"use strict";var i=n("428f"),a=n.n(i);a.a},"49c2":function(t,e,n){"use strict";var i=n("acce"),a=n.n(i);a.a},"4d21":function(t,e,n){"use strict";var i=n("917b"),a=n.n(i);a.a},"6a2b":function(t,e,n){},"6da9":function(t,e,n){},7802:function(t,e,n){},"820e":function(t,e,n){},"83d7":function(t,e,n){},"909e":function(t,e,n){"use strict";var i=n("1021"),a=n.n(i);a.a},"917b":function(t,e,n){},9224:function(t){t.exports={name:"lemon-imui",version:"1.7.0",main:"dist/index.umd.min.js",description:"基于 VUE2.0 的 IM 聊天组件",homepage:"http://june000.gitee.io/lemon-im/",keywords:["vue","im","chat","vueim","vuechat","webim","webchat"],repository:{type:"git",url:"git+https://github.com/fanjyy/lemon-imui.git"},scripts:{serve:"vue-cli-service serve",build:"vue-cli-service build --target lib --name index packages/index.js","build-examples":"vue-cli-service build --dest examples/dist examples/main.js",lint:"vue-cli-service lint"},dependencies:{vue:"^2.6.10"},devDependencies:{"@vue/cli-plugin-babel":"^3.6.0","@vue/cli-plugin-eslint":"^3.6.0","@vue/cli-service":"^3.6.0","@vue/eslint-config-prettier":"^4.0.1","babel-eslint":"^10.0.2",eslint:"^5.16.0","eslint-plugin-vue":"^5.2.3",stylus:"^0.54.5","stylus-loader":"^3.0.2","vue-template-compiler":"^2.5.21"},author:"fanjun",license:"MIT"}},9768:function(t,e,n){},9800:function(t,e,n){},"9b01":function(t,e,n){"use strict";var i=n("6da9"),a=n.n(i);a.a},"9c9b":function(t,e,n){"use strict";var i=n("9800"),a=n.n(i);a.a},a215:function(t,e,n){},acce:function(t,e,n){},c31f:function(t,e,n){"use strict";n.r(e);n("cadf"),n("551c"),n("f751"),n("097d");var i=n("2b0e"),a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"app"}},[n("div",{staticClass:"scroll-top",on:{click:t.scrollToTop}},[t._v("🚀")]),n("div",{staticClass:"logo"},[n("div",{staticClass:"logo-text"},[n("b",[t._v("Lemon")]),t._v(" IMUI"),n("span",{staticClass:"logo-badge"},[t._v(t._s(this.packageData.version))])]),n("div",{staticClass:"logo-sub"},[t._v(t._s(this.packageData.description))]),t._m(0),n("br"),t._m(1),t._m(2)]),n("div",{staticClass:"imui-center"},[n("lemon-imui",{ref:"IMUI",attrs:{user:t.user,contextmenu:t.contextmenu,"contact-contextmenu":t.contactContextmenu,theme:t.theme,"hide-menu":t.hideMenu,"hide-menu-avatar":t.hideMenuAvatar,"hide-message-name":t.hideMessageName,"hide-message-time":t.hideMessageTime},on:{"change-menu":t.handleChangeMenu,"change-contact":t.handleChangeContact,"pull-messages":t.handlePullMessages,"message-click":t.handleMessageClick,"menu-avatar-click":t.handleMenuAvatarClick,send:t.handleSend},scopedSlots:t._u([{key:"cover",fn:function(){return[n("div",{staticClass:"cover"},[n("i",{staticClass:"lemon-icon-message"}),n("p",[n("b",[t._v("自定义封面 Lemon")]),t._v(" IMUI")])])]},proxy:!0},{key:"message-title",fn:function(e){return[n("span",[t._v(t._s(e.displayName))]),n("smallLine truncated
|
||||
Vendored
-1
@@ -1 +0,0 @@
|
||||
(function(t){function e(e){for(var i,r,o=e[0],c=e[1],d=e[2],u=0,m=[];u<o.length;u++)r=o[u],a[r]&&m.push(a[r][0]),a[r]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(t[i]=c[i]);l&&l(e);while(m.length)m.shift()();return s.push.apply(s,d||[]),n()}function n(){for(var t,e=0;e<s.length;e++){for(var n=s[e],i=!0,o=1;o<n.length;o++){var c=n[o];0!==a[c]&&(i=!1)}i&&(s.splice(e--,1),t=r(r.s=n[0]))}return t}var i={},a={index:0},s=[];function r(e){if(i[e])return i[e].exports;var n=i[e]={i:e,l:!1,exports:{}};return t[e].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=t,r.c=i,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="";var o=window["webpackJsonp"]=window["webpackJsonp"]||[],c=o.push.bind(o);o.push=e,o=o.slice();for(var d=0;d<o.length;d++)e(o[d]);var l=c;s.push([0,"chunk-vendors"]),n()})({0:function(t,e,n){t.exports=n("c31f")},"04f4":function(t,e,n){"use strict";var i=n("26f7"),a=n.n(i);a.a},"08dd":function(t,e,n){},"0af2":function(t,e,n){},"0e15":function(t,e,n){"use strict";var i=n("9768"),a=n.n(i);a.a},1021:function(t,e,n){},"107a":function(t,e,n){},"15cf":function(t,e,n){},1663:function(t,e,n){"use strict";var i=n("e86c"),a=n.n(i);a.a},"1e45":function(t,e,n){"use strict";var i=n("83d7"),a=n.n(i);a.a},"26f7":function(t,e,n){},3423:function(t,e,n){"use strict";var i=n("107a"),a=n.n(i);a.a},"428f":function(t,e,n){},"436f":function(t,e,n){"use strict";var i=n("0af2"),a=n.n(i);a.a},"476d":function(t,e,n){"use strict";var i=n("428f"),a=n.n(i);a.a},"49c2":function(t,e,n){"use strict";var i=n("acce"),a=n.n(i);a.a},"4d21":function(t,e,n){"use strict";var i=n("917b"),a=n.n(i);a.a},"6a2b":function(t,e,n){},"6da9":function(t,e,n){},7802:function(t,e,n){},"820e":function(t,e,n){},"83d7":function(t,e,n){},"909e":function(t,e,n){"use strict";var i=n("1021"),a=n.n(i);a.a},"917b":function(t,e,n){},9224:function(t){t.exports={name:"lemon-imui",version:"1.6.15",main:"dist/index.umd.min.js",description:"基于 VUE2.0 的 IM 聊天组件",homepage:"http://june000.gitee.io/lemon-im/",keywords:["vue","im","chat","vueim","vuechat","webim","webchat"],repository:{type:"git",url:"git+https://github.com/fanjyy/lemon-imui.git"},scripts:{serve:"vue-cli-service serve",build:"vue-cli-service build --target lib --name index packages/index.js","build-examples":"vue-cli-service build --dest examples/dist examples/main.js",lint:"vue-cli-service lint"},dependencies:{vue:"^2.6.10"},devDependencies:{"@vue/cli-plugin-babel":"^3.6.0","@vue/cli-plugin-eslint":"^3.6.0","@vue/cli-service":"^3.6.0","@vue/eslint-config-prettier":"^4.0.1","babel-eslint":"^10.0.2",eslint:"^5.16.0","eslint-plugin-vue":"^5.2.3",stylus:"^0.54.5","stylus-loader":"^3.0.2","vue-template-compiler":"^2.5.21"},author:"fanjun",license:"MIT"}},9768:function(t,e,n){},9800:function(t,e,n){},"9b01":function(t,e,n){"use strict";var i=n("6da9"),a=n.n(i);a.a},"9c9b":function(t,e,n){"use strict";var i=n("9800"),a=n.n(i);a.a},a215:function(t,e,n){},acce:function(t,e,n){},c31f:function(t,e,n){"use strict";n.r(e);n("cadf"),n("551c"),n("f751"),n("097d");var i=n("2b0e"),a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"app"}},[n("div",{staticClass:"scroll-top",on:{click:t.scrollToTop}},[t._v("🚀")]),n("div",{staticClass:"logo"},[n("div",{staticClass:"logo-text"},[n("b",[t._v("Lemon")]),t._v(" IMUI"),n("span",{staticClass:"logo-badge"},[t._v(t._s(this.packageData.version))])]),n("div",{staticClass:"logo-sub"},[t._v(t._s(this.packageData.description))]),t._m(0),n("br"),t._m(1),t._m(2)]),n("div",{staticClass:"imui-center"},[n("lemon-imui",{ref:"IMUI",attrs:{user:t.user,contextmenu:t.contextmenu,"contact-contextmenu":t.contactContextmenu,theme:t.theme,"hide-menu":t.hideMenu,"hide-menu-avatar":t.hideMenuAvatar,"hide-message-name":t.hideMessageName,"hide-message-time":t.hideMessageTime},on:{"change-menu":t.handleChangeMenu,"change-contact":t.handleChangeContact,"pull-messages":t.handlePullMessages,"message-click":t.handleMessageClick,"menu-avatar-click":t.handleMenuAvatarClick,send:t.handleSend},scopedSlots:t._u([{key:"cover",fn:function(){return[n("div",{staticClass:"cover"},[n("i",{staticClass:"lemon-icon-message"}),n("p",[n("b",[t._v("自定义封面 Lemon")]),t._v(" IMUI")])])]},proxy:!0},{key:"message-title",fn:function(e){return[n("span",[t._v(t._s(e.displayName))]),n("smalLine truncated
|
||||
@@ -151,7 +151,10 @@ export default {
|
||||
IMUI.openDrawer(params);
|
||||
},
|
||||
handlePullMessages(contact, next) {
|
||||
next(MessagesData[contact.id], true);
|
||||
const { IMUI } = this.$refs;
|
||||
setTimeout(() => {
|
||||
next(MessagesData[contact.id], true);
|
||||
}, 3000);
|
||||
},
|
||||
handleChangeContact() {},
|
||||
handleSend(message, next, file) {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "lemon-imui",
|
||||
"version": "1.6.15",
|
||||
"version": "1.7.0",
|
||||
"main": "dist/index.umd.min.js",
|
||||
"description": "基于 VUE2.0 的 IM 聊天组件",
|
||||
"homepage": "http://june000.gitee.io/lemon-im/",
|
||||
|
||||
@@ -16,7 +16,7 @@ import lastContentRender from "../lastContentRender";
|
||||
|
||||
import MemoryCache from "utils/cache/memory";
|
||||
|
||||
const allMessages = {};
|
||||
let allMessages = {};
|
||||
const emojiMap = {};
|
||||
const toPx = val => {
|
||||
return isString(val) ? val : `${val}px`;
|
||||
@@ -51,6 +51,8 @@ export default {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
loadingText: [String, Function],
|
||||
loadendText: [String, Function],
|
||||
/**
|
||||
* 消息时间格式化规则
|
||||
*/
|
||||
@@ -495,6 +497,8 @@ export default {
|
||||
<div class="lemon-vessel__left">
|
||||
<lemon-messages
|
||||
ref="messages"
|
||||
loading-text={this.loadingText}
|
||||
loadend-text={this.loadendText}
|
||||
hide-time={this.hideMessageTime}
|
||||
hide-name={this.hideMessageName}
|
||||
time-format={this.messageTimeFormat}
|
||||
@@ -956,6 +960,21 @@ export default {
|
||||
getEditorValue() {
|
||||
return this.$refs.editor.getFormatValue();
|
||||
},
|
||||
/**
|
||||
* 清空某个联系人的消息,切换到该联系人时会重新触发pull-messages事件
|
||||
*/
|
||||
clearMessages(contactId) {
|
||||
if (contactId) {
|
||||
delete allMessages[contactId];
|
||||
this.CacheMessageLoaded.remove(contactId);
|
||||
this.CacheDraft.remove(contactId);
|
||||
} else {
|
||||
allMessages = {};
|
||||
this.CacheMessageLoaded.remove();
|
||||
this.CacheDraft.remove();
|
||||
}
|
||||
return true;
|
||||
},
|
||||
/**
|
||||
* 返回所有消息
|
||||
* @return {Object<Contact.id,Message>}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<script>
|
||||
import { hoursTimeFormat } from "utils";
|
||||
import { isString } from "utils/validate";
|
||||
import contextmenu from "../directives/contextmenu";
|
||||
export default {
|
||||
name: "LemonMessages",
|
||||
@@ -20,12 +21,20 @@ export default {
|
||||
return hoursTimeFormat(val);
|
||||
},
|
||||
},
|
||||
loadingText: {
|
||||
type: [String, Function],
|
||||
},
|
||||
loadendText: {
|
||||
type: [String, Function],
|
||||
default: "暂无更多消息",
|
||||
},
|
||||
messages: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
},
|
||||
data() {
|
||||
this._lockScroll = false;
|
||||
return {
|
||||
_loading: false,
|
||||
_loadend: false,
|
||||
@@ -40,7 +49,20 @@ export default {
|
||||
`lemon-messages__load--${this._loadend ? "end" : "ing"}`,
|
||||
]}
|
||||
>
|
||||
{this._loadend ? this._renderLoadEnd() : this._renderLoading()}
|
||||
<span class="lemon-messages__loadend">
|
||||
{isString(this.loadendText) ? this.loadendText : this.loadendText()}
|
||||
</span>
|
||||
<span class="lemon-messages__loading">
|
||||
{this.loadingText ? (
|
||||
isString(this.loadingText) ? (
|
||||
this.loadingText
|
||||
) : (
|
||||
this.loadingText()
|
||||
)
|
||||
) : (
|
||||
<i class="lemon-icon-loading lemonani-spin" />
|
||||
)}
|
||||
</span>
|
||||
</div>
|
||||
{this.messages.map((message, index) => {
|
||||
const node = [];
|
||||
@@ -89,21 +111,20 @@ export default {
|
||||
},
|
||||
watch: {},
|
||||
methods: {
|
||||
_renderLoading() {
|
||||
return <i class="lemon-icon-loading lemonani-spin" />;
|
||||
},
|
||||
_renderLoadEnd() {
|
||||
return <span>暂无更多消息</span>;
|
||||
},
|
||||
loaded() {
|
||||
this._loadend = true;
|
||||
this.$forceUpdate();
|
||||
},
|
||||
resetLoadState() {
|
||||
this._lockScroll = true;
|
||||
this._loading = false;
|
||||
this._loadend = false;
|
||||
setTimeout(() => {
|
||||
this._lockScroll = false;
|
||||
}, 200);
|
||||
},
|
||||
async _handleScroll(e) {
|
||||
if (this._lockScroll) return;
|
||||
const { target } = e;
|
||||
contextmenu.hide();
|
||||
if (
|
||||
@@ -152,6 +173,15 @@ export default {
|
||||
text-align center
|
||||
color #999
|
||||
line-height 30px
|
||||
.lemon-messages__loading
|
||||
.lemon-messages__loadend
|
||||
display none
|
||||
+m(ing)
|
||||
font-size 22px
|
||||
.lemon-icon-loading
|
||||
font-size 22px
|
||||
.lemon-messages__loading
|
||||
display block
|
||||
+m(end)
|
||||
.lemon-messages__loadend
|
||||
display block
|
||||
</style>
|
||||
Reference in new issue
Block a user