diff --git a/aurelia_project/tasks/run.js b/aurelia_project/tasks/run.js index d67b5211fe9b88bfed598d39e6f1fe5c561dc5a3..baaca561a8b24bbd0c2efa972293b52f6305742c 100644 --- a/aurelia_project/tasks/run.js +++ b/aurelia_project/tasks/run.js @@ -33,10 +33,10 @@ let serve = gulp.series( next(); }, proxyMiddleware(['/free', '/admin', '/upload', '/lib'], { - // target: 'http://translation.sh1.newtouch.com', + target: 'http://translation.sh1.newtouch.com', // target: 'http://tms000.sh1.newtouch.com', // target: 'https://xiweicheng.com', - target: 'http://localhost', + // target: 'http://localhost', changeOrigin: true }), ] diff --git a/node_modules.zip b/node_modules.zip new file mode 100644 index 0000000000000000000000000000000000000000..0230168f429314fe35cc69f1b3f9f3ab305eba31 Binary files /dev/null and b/node_modules.zip differ diff --git a/scripts/app-bundle.js b/scripts/app-bundle.js index 4e3166077ad988d080f27115bec91edf0e748e7a..6d0cbc3b4efa102d729bb2166b79fe8b575fb6b8 100644 --- a/scripts/app-bundle.js +++ b/scripts/app-bundle.js @@ -230,7 +230,7 @@ define('blog/blog',['exports', 'aurelia-framework', 'chat/chat-service'], functi this.isHide = true; this.subscribe = ea.subscribe(nsCons.EVENT_BLOG_VIEW_CHANGED, function (payload) { - _this.routeConfig && _this.routeConfig.navModel.setTitle(payload.title + ' | 博文 | TMS'); + _this.routeConfig && _this.routeConfig.navModel.setTitle(payload.title + ' | \u535A\u6587 | TMS'); }); this.subscribe1 = ea.subscribe(nsCons.EVENT_BLOG_RIGHT_SIDEBAR_TOGGLE, function (payload) { if (payload.justRefresh) { @@ -331,7 +331,7 @@ define('chat/chat-direct',['exports', 'aurelia-framework', 'common/common-poll', var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; function _classCallCheck(instance, Constructor) { @@ -504,11 +504,11 @@ define('chat/chat-direct',['exports', 'aurelia-framework', 'common/common-poll', if (_this2.user) { var name = _this2.user ? _this2.user.name : _this2.chatTo; - routeConfig.navModel.setTitle(name + ' | 私聊 | TMS'); + routeConfig.navModel.setTitle(name + ' | \u79C1\u804A | TMS'); _this2.listChatDirect(true); } else { - toastr.error('聊天用户[' + _this2.chatTo + ']不存在或者没有权限访问!'); + toastr.error('\u804A\u5929\u7528\u6237[' + _this2.chatTo + ']\u4E0D\u5B58\u5728\u6216\u8005\u6CA1\u6709\u6743\u9650\u8BBF\u95EE!'); if (_this2.preChatId) { window.location = wurl('path') + ('#/chat/' + _this2.preChatId); } else { @@ -526,11 +526,11 @@ define('chat/chat-direct',['exports', 'aurelia-framework', 'common/common-poll', }); if (_this2.channel) { - routeConfig.navModel.setTitle(_this2.channel.title + ' | 频道 | TMS'); + routeConfig.navModel.setTitle(_this2.channel.title + ' | \u9891\u9053 | TMS'); _this2.listChatChannel(true); } else { - toastr.error('聊天频道[' + _this2.chatTo + ']不存在或者没有权限访问!'); + toastr.error('\u804A\u5929\u9891\u9053[' + _this2.chatTo + ']\u4E0D\u5B58\u5728\u6216\u8005\u6CA1\u6709\u6743\u9650\u8BBF\u95EE!'); if (_this2.preChatId) { window.location = wurl('path') + ('#/chat/' + _this2.preChatId); } else { @@ -678,7 +678,7 @@ define('chat/chat-direct',['exports', 'aurelia-framework', 'common/common-poll', $(this.commentsRef).find('.comment[data-id=' + to + ']').addClass('active'); } else { $(this.commentsRef).parent('.scroll-content').scrollTo('max'); - toastr.warning('消息[' + to + ']不存在,可能已经被删除!'); + toastr.warning('\u6D88\u606F[' + to + ']\u4E0D\u5B58\u5728,\u53EF\u80FD\u5DF2\u7ECF\u88AB\u5220\u9664!'); } } }; @@ -725,7 +725,7 @@ define('chat/chat-direct',['exports', 'aurelia-framework', 'common/common-poll', if (_this9.countAt && data.data.countAt > _this9.countAt) { var cnt = data.data.countAt - _this9.countAt; push.create('TMS沟通@消息通知', { - body: '你有' + cnt + '条新的@消息!', + body: '\u4F60\u6709' + cnt + '\u6761\u65B0\u7684@\u6D88\u606F!', icon: { x16: 'img/tms-x16.ico', x32: 'img/tms-x32.png' @@ -809,7 +809,7 @@ define('chat/chat-direct',['exports', 'aurelia-framework', 'common/common-poll', if (!hasOwn) { push.create('TMS沟通频道消息通知', { - body: '频道[' + this.channel.title + ']有新消息了!', + body: '\u9891\u9053[' + this.channel.title + ']\u6709\u65B0\u6D88\u606F\u4E86!', icon: { x16: 'img/tms-x16.ico', x32: 'img/tms-x32.png' @@ -991,7 +991,7 @@ define('chat/chat-direct',['exports', 'aurelia-framework', 'common/common-poll', }; ChatDirect.prototype.scrollTo = function scrollTo(target) { - var duration = arguments.length <= 1 || arguments[1] === undefined ? 0 : arguments[1]; + var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var onAfter = arguments[2]; this.focusedComment = target; @@ -1091,9 +1091,9 @@ define('chat/chat-service',['exports'], function (exports) { resolve(value); } else { return Promise.resolve(value).then(function (value) { - return step("next", value); + step("next", value); }, function (err) { - return step("throw", err); + step("throw", err); }); } } @@ -1241,7 +1241,7 @@ define('common/common-constant',[], function () { EVENT_CHAT_MSG_SENDED: 'event_chat_msg_sended', EVENT_CHAT_MSG_EDIT_UPLOAD: 'event_chat_msg_edit_upload', EVENT_CHAT_SIDEBAR_TOGGLE: 'event_chat_sidebar_toggle', - EVENT_CHAT_SEARCH_RESULT: 'event_chat_search_result', + EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE: 'event_chat_right_sidebar_toggle', EVENT_CHAT_SEARCH_GOTO_CHAT_ITEM: 'event_chat_search_goto_chat_item', EVENT_CHAT_CHANNEL_CREATED: 'event_chat_channel_created', EVENT_CHAT_CHANNEL_DELETED: 'event_chat_channel_deleted', @@ -1250,11 +1250,6 @@ define('common/common-constant',[], function () { EVENT_SHOW_HOTKEYS_MODAL: 'event_show_hotkeys_modal', EVENT_CHAT_CHANNEL_MEMBER_ADD_OR_REMOVE: 'event_chat_channel_member_add_or_remove', EVENT_CHAT_LAST_ITEM_RENDERED: 'event_chat_last_item_rendered', - EVENT_CHAT_SHOW_STOW: 'event_chat_show_stow', - EVENT_CHAT_SHOW_AT: 'event_chat_show_at', - EVENT_CHAT_SHOW_DIR: 'event_chat_show_dir', - EVENT_CHAT_SHOW_ATTACH: 'event_chat_show_attach', - EVENT_CHAT_SHOW_SCHEDULE: 'event_chat_show_schedule', EVENT_SCROLLBAR_SCROLL_TO_BOTTOM: 'event_scrollbar_scroll_to_bottom', EVENT_CHAT_MSG_INSERT: 'event_chat_msg_insert', EVENT_CHAT_MSG_POPUP_SHOW: 'event_chat_msg_popup_show', @@ -1292,6 +1287,7 @@ define('common/common-constant',[], function () { EVENT_BLOG_COMMENT_CHANGED: 'event_blog_comment_changed', ACTION_TYPE_SEARCH: 'action_type_search', ACTION_TYPE_STOW: 'action_type_stow', + ACTION_TYPE_PIN: 'action_type_pin', ACTION_TYPE_AT: 'action_type_at', ACTION_TYPE_DIR: 'action_type_dir', ACTION_TYPE_ATTACH: 'action_type_attach', @@ -1330,7 +1326,7 @@ define('common/common-diff',[], function () { var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; (function webpackUniversalModuleDefinition(root, factory) { @@ -2220,7 +2216,7 @@ define('common/common-imgs-loaded',[], function () { var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; ;(function (w, undefined) { @@ -3905,7 +3901,7 @@ define('common/common-utils',['exports', 'wurl', 'common/common-diff'], function var cnt = time ? time : 10; var timer = null; - var $t = toastr.error('网络连接错误,' + cnt + '秒后自动重试!', null, { + var $t = toastr.error('\u7F51\u7EDC\u8FDE\u63A5\u9519\u8BEF,' + cnt + '\u79D2\u540E\u81EA\u52A8\u91CD\u8BD5!', null, { "closeButton": false, "timeOut": "0", "preventDuplicates": false, @@ -3924,7 +3920,7 @@ define('common/common-utils',['exports', 'wurl', 'common/common-diff'], function callback && callback(); return; } - $t && $t.find('.toast-message').text('网络连接错误,' + cnt + '秒后自动重试!'); + $t && $t.find('.toast-message').text('\u7F51\u7EDC\u8FDE\u63A5\u9519\u8BEF,' + cnt + '\u79D2\u540E\u81EA\u52A8\u91CD\u8BD5!'); cnt--; }, 1000); }; @@ -4480,10 +4476,10 @@ define('init/config',['exports', 'aurelia-templating-resources', 'aurelia-event- } if (!lang) { - return '
' + (escaped ? code : _commonUtils2.default.escape(code, true)) + '\n
' + (escaped ? code : _commonUtils2.default.escape(code, true)) + '\n
' + (escaped ? code : _commonUtils2.default.escape(code, true)) + '\n
' + (escaped ? code : _commonUtils2.default.escape(code, true)) + '\n
' + item.title + '
吗?',
+ content: '\u786E\u5B9A\u8981\u52A0\u5165\u9891\u9053' + item.title + '
\u5417?',
onapprove: function onapprove() {
$.post('/admin/channel/join', {
id: item.id
@@ -10618,7 +10720,7 @@ define('resources/elements/em-chat-channel-join',['exports', 'aurelia-framework'
EmChatChannelJoin.prototype.leaveHandler = function leaveHandler(item) {
this.confirmMd.show({
- content: '确定要离开频道' + item.title + '
吗?',
+ content: '\u786E\u5B9A\u8981\u79BB\u5F00\u9891\u9053' + item.title + '
\u5417?',
onapprove: function onapprove() {
$.post('/admin/channel/leave', {
id: item.id
@@ -10793,6 +10895,7 @@ define('resources/elements/em-chat-channel-link-mgr',['exports', 'aurelia-framew
EmChatChannelLinkMgr.prototype.attached = function attached() {};
EmChatChannelLinkMgr.prototype.show = function show() {
+ this.channelChanged();
this.emModal.show({ autoDimmer: false });
};
@@ -11060,6 +11163,191 @@ define('resources/elements/em-chat-channel-members-show',['exports', 'aurelia-fr
initializer: null
})), _class2)) || _class;
});
+define('resources/elements/em-chat-content-item-footbar',['exports', 'aurelia-framework', 'common/common-tags'], function (exports, _aureliaFramework, _commonTags) {
+ 'use strict';
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.EmChatContentItemFootbar = undefined;
+
+ var _commonTags2 = _interopRequireDefault(_commonTags);
+
+ function _interopRequireDefault(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+ }
+
+ function _initDefineProp(target, property, descriptor, context) {
+ if (!descriptor) return;
+ Object.defineProperty(target, property, {
+ enumerable: descriptor.enumerable,
+ configurable: descriptor.configurable,
+ writable: descriptor.writable,
+ value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
+ });
+ }
+
+ function _classCallCheck(instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+ }
+
+ function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
+ var desc = {};
+ Object['ke' + 'ys'](descriptor).forEach(function (key) {
+ desc[key] = descriptor[key];
+ });
+ desc.enumerable = !!desc.enumerable;
+ desc.configurable = !!desc.configurable;
+
+ if ('value' in desc || desc.initializer) {
+ desc.writable = true;
+ }
+
+ desc = decorators.slice().reverse().reduce(function (desc, decorator) {
+ return decorator(target, property, desc) || desc;
+ }, desc);
+
+ if (context && desc.initializer !== void 0) {
+ desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
+ desc.initializer = undefined;
+ }
+
+ if (desc.initializer === void 0) {
+ Object['define' + 'Property'](target, property, desc);
+ desc = null;
+ }
+
+ return desc;
+ }
+
+ function _initializerWarningHelper(descriptor, context) {
+ throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');
+ }
+
+ var _class, _desc, _value, _class2, _descriptor;
+
+ var EmChatContentItemFootbar = exports.EmChatContentItemFootbar = (0, _aureliaFramework.containerless)(_class = (_class2 = function () {
+ function EmChatContentItemFootbar() {
+ _classCallCheck(this, EmChatContentItemFootbar);
+
+ _initDefineProp(this, 'chat', _descriptor, this);
+
+ this.emojis = [{
+ label: '赞同',
+ value: ':+1:',
+ type: 'emoji'
+ }, {
+ label: '反对',
+ value: ':-1:',
+ type: 'emoji'
+ }, {
+ label: '知悉',
+ value: ':ok_hand:',
+ type: 'emoji'
+ }, {
+ label: '关注',
+ value: ':eyes:',
+ type: 'emoji'
+ }, {
+ label: '爱心',
+ value: ':heart:',
+ type: 'emoji'
+ }, {
+ label: '开心',
+ value: ':laughing:',
+ type: 'emoji'
+ }, {
+ label: '困惑',
+ value: ':confused:',
+ type: 'emoji'
+ }, {
+ label: '悲伤',
+ value: ':cry:',
+ type: 'emoji'
+ }];
+
+ this.tags = _commonTags2.default;
+ }
+
+ EmChatContentItemFootbar.prototype.attached = function attached() {
+ var _this = this;
+
+ $([this.addEmojiRef]).popup({
+ inline: true,
+ hoverable: true
+ });
+ $([this.addTagRef]).popup({
+ inline: true,
+ hoverable: true,
+
+ onHide: function onHide() {
+ _this.isCustomTag = false;
+ $(_this.tagRef).val('');
+ }
+ });
+ };
+
+ EmChatContentItemFootbar.prototype.toggleChatLabelHandler = function toggleChatLabelHandler(item) {
+ var _this2 = this;
+
+ $.post('/admin/chat/' + (nsCtx.isAt ? 'direct' : 'channel') + '/label/toggle', {
+ url: nsCtx.isAt ? utils.getBasePath() : utils.getUrl(),
+ meta: item.type == 'emoji' ? $(emojify.replace(item.value)).attr('src') : item.value,
+ type: item.type == 'emoji' ? 'Emoji' : 'Tag',
+ contentHtml: utils.md2html(this.chat.content),
+ name: item.value,
+ desc: item.label,
+ id: this.chat.id
+ }, function (data, textStatus, xhr) {
+ if (data.success) {
+ var cl = _.find(_this2.chat.chatLabels, { id: data.data.id });
+ if (cl) {
+ cl.voters = data.data.voters;
+ } else {
+ _this2.chat.chatLabels = [].concat(_this2.chat.chatLabels, [data.data]);
+ }
+ bs.signal('sg-chatlabel-refresh');
+ } else {
+ toastr.error(data.data);
+ }
+ });
+ };
+
+ EmChatContentItemFootbar.prototype.toggleCustomTagHandler = function toggleCustomTagHandler() {
+ var _this3 = this;
+
+ if (this.isCustomTag) {
+ var v = $(this.tagRef).val();
+ if (v) {
+ this.toggleChatLabelHandler({
+ label: v,
+ value: v,
+ type: 'Tag'
+ });
+ $(this.tagRef).val('');
+ }
+ } else {
+ _.defer(function () {
+ return $(_this3.tagRef).focus();
+ });
+ }
+ this.isCustomTag = !this.isCustomTag;
+ };
+
+ EmChatContentItemFootbar.prototype.tagKeyupHandler = function tagKeyupHandler() {
+ this.toggleCustomTagHandler();
+ };
+
+ return EmChatContentItemFootbar;
+ }(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'chat', [_aureliaFramework.bindable], {
+ enumerable: true,
+ initializer: null
+ })), _class2)) || _class;
+});
define('resources/elements/em-chat-content-item',['exports', 'aurelia-framework'], function (exports, _aureliaFramework) {
'use strict';
@@ -11359,17 +11647,40 @@ define('resources/elements/em-chat-content-item',['exports', 'aurelia-framework'
};
EmChatContentItem.prototype.stowHandler = function stowHandler(item) {
+
+ if (item.isStow) {
+ this.unStowHandler(item);
+ return;
+ }
+
$.post('/admin/chat/channel/stow', {
id: item.id
}, function (data, textStatus, xhr) {
+ item.isStow = true;
if (data.success) {
+ item.stowId = data.data.id;
toastr.success('收藏消息成功!');
} else {
- toastr.error(data.data, '收藏消息失败!');
+ item.stowId = data.msgs && data.msgs.length > 0 ? data.msgs[0].id : '';
}
});
};
+ EmChatContentItem.prototype.unStowHandler = function unStowHandler(item) {
+ if (!item.stowId) {
+ return;
+ }
+ $.post('/admin/chat/channel/removeStow', {
+ id: item.stowId
+ }, function (data, textStatus, xhr) {
+ item.isStow = false;
+ item.stowId = '';
+ if (data.success) {
+ toastr.success('移除收藏消息成功!');
+ } else {}
+ });
+ };
+
EmChatContentItem.prototype.openEditHandler = function openEditHandler(item) {
$.post('/admin/chat/channel/openEdit', {
id: item.id,
@@ -11377,16 +11688,16 @@ define('resources/elements/em-chat-content-item',['exports', 'aurelia-framework'
}, function (data, textStatus, xhr) {
if (data.success) {
item.openEdit = !item.openEdit;
- toastr.success((item.openEdit ? '开启' : '关闭') + '协作编辑成功!');
+ toastr.success((item.openEdit ? '开启' : '关闭') + '\u534F\u4F5C\u7F16\u8F91\u6210\u529F!');
} else {
- toastr.success((!item.openEdit ? '开启' : '关闭') + '协作编辑失败!');
+ toastr.success((!item.openEdit ? '开启' : '关闭') + '\u534F\u4F5C\u7F16\u8F91\u5931\u8D25!');
}
});
};
EmChatContentItem.prototype.replyHandler = function replyHandler(item) {
ea.publish(nsCons.EVENT_CHAT_MSG_INSERT, {
- content: '[[回复#' + item.id + '](' + utils.getUrl() + '?id=' + item.id + '){~' + item.creator.username + '}]\n\n'
+ content: '[[\u56DE\u590D#' + item.id + '](' + utils.getUrl() + '?id=' + item.id + '){~' + item.creator.username + '}]\n\n'
});
$.post('/admin/chat/channel/markAsReadedByChat', {
@@ -11438,6 +11749,20 @@ define('resources/elements/em-chat-content-item',['exports', 'aurelia-framework'
});
};
+ EmChatContentItem.prototype.pinHandler = function pinHandler(item) {
+ $.post('/admin/chat/channel/pin/toggle', {
+ id: item.id,
+ cid: this.channel.id
+ }, function (data, textStatus, xhr) {
+ if (data.success) {
+ toastr.success('' + (data.code == 200 ? '固定频道消息成功!' : '解除固定频道消息成功!'));
+ item.isPin = data.code == 200;
+ } else {
+ toastr.error(data.data);
+ }
+ });
+ };
+
return EmChatContentItem;
}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'chats', [_dec], {
enumerable: true,
@@ -11759,7 +12084,7 @@ define('resources/elements/em-chat-input',['exports', 'aurelia-framework', 'comm
},
template: function template(value, term) {
if (value == 'search') {
- return '表情查找 - :search';
+ return '\u8868\u60C5\u67E5\u627E - :search';
}
var emojiKey = ':' + value + ':';
return emojify.replace(emojiKey) + ' - ' + emojiKey;
@@ -11893,6 +12218,10 @@ define('resources/elements/em-chat-input',['exports', 'aurelia-framework', 'comm
return false;
};
+ EmChatInput.prototype.togglePreviewHandler = function togglePreviewHandler() {
+ this.simplemde.togglePreview();
+ };
+
return EmChatInput;
}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'chatTo', [_aureliaFramework.bindable], {
enumerable: true,
@@ -11998,6 +12327,10 @@ define('resources/elements/em-chat-msg-popup',['exports', 'aurelia-framework'],
_this.id = payload.id;
_this.target = payload.target;
+ if (!_this.id) {
+ return;
+ }
+
$(_this.target).popup({
popup: _this.popup,
hoverable: true,
@@ -12034,6 +12367,253 @@ define('resources/elements/em-chat-msg-popup',['exports', 'aurelia-framework'],
return EmChatMsgPopup;
}()) || _class;
});
+define('resources/elements/em-chat-msg',['exports', 'aurelia-framework'], function (exports, _aureliaFramework) {
+ 'use strict';
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.EmChatMsg = undefined;
+
+ function _initDefineProp(target, property, descriptor, context) {
+ if (!descriptor) return;
+ Object.defineProperty(target, property, {
+ enumerable: descriptor.enumerable,
+ configurable: descriptor.configurable,
+ writable: descriptor.writable,
+ value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
+ });
+ }
+
+ function _classCallCheck(instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+ }
+
+ function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
+ var desc = {};
+ Object['ke' + 'ys'](descriptor).forEach(function (key) {
+ desc[key] = descriptor[key];
+ });
+ desc.enumerable = !!desc.enumerable;
+ desc.configurable = !!desc.configurable;
+
+ if ('value' in desc || desc.initializer) {
+ desc.writable = true;
+ }
+
+ desc = decorators.slice().reverse().reduce(function (desc, decorator) {
+ return decorator(target, property, desc) || desc;
+ }, desc);
+
+ if (context && desc.initializer !== void 0) {
+ desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
+ desc.initializer = undefined;
+ }
+
+ if (desc.initializer === void 0) {
+ Object['define' + 'Property'](target, property, desc);
+ desc = null;
+ }
+
+ return desc;
+ }
+
+ function _initializerWarningHelper(descriptor, context) {
+ throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');
+ }
+
+ var _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;
+
+ var EmChatMsg = exports.EmChatMsg = (0, _aureliaFramework.containerless)(_class = (_class2 = function () {
+ function EmChatMsg() {
+ _classCallCheck(this, EmChatMsg);
+
+ this.last = true;
+
+ _initDefineProp(this, 'loginUser', _descriptor, this);
+
+ _initDefineProp(this, 'isAt', _descriptor2, this);
+
+ _initDefineProp(this, 'channel', _descriptor3, this);
+
+ _initDefineProp(this, 'chats', _descriptor4, this);
+
+ _initDefineProp(this, 'actived', _descriptor5, this);
+
+ this.basePath = utils.getBasePath();
+ }
+
+ EmChatMsg.prototype.attached = function attached() {
+ this.initHotkeys();
+ };
+
+ EmChatMsg.prototype.initHotkeys = function initHotkeys() {
+ var _this = this;
+
+ $(document).bind('keydown', 'o', function (event) {
+ event.preventDefault();
+ var item = _.find(_this.chats, { isHover: true });
+ item && (item.isOpen = !item.isOpen);
+ });
+ };
+
+ EmChatMsg.prototype.activedChanged = function activedChanged() {
+ if (!this.actived) {
+ return;
+ }
+
+ var payload = this.actived.payload;
+ var result = payload.result;
+
+ if (this.actived.payload.action == nsCons.ACTION_TYPE_AT) {
+ this.page = result;
+ this.chats = _.map(result.content, function (item) {
+ var chatChannel = item.chatChannel;
+ chatChannel.chatAt = item;
+ return chatChannel;
+ });
+ this.last = result.last;
+ this.moreCnt = result.totalElements - (result.number + 1) * result.size;
+ } else if (this.actived.payload.action == nsCons.ACTION_TYPE_STOW) {
+ this.chats = payload.result;
+ this.last = true;
+ } else if (this.actived.payload.action == nsCons.ACTION_TYPE_PIN) {
+ this.chats = payload.result;
+ this.last = true;
+ } else if (this.actived.payload.action == nsCons.ACTION_TYPE_SEARCH) {
+ this.search = payload.search;
+ this.page = result;
+ this.chats = result.content;
+ this.last = result.last;
+ this.moreCnt = result.totalElements - (result.number + 1) * result.size;
+ }
+ };
+
+ EmChatMsg.prototype.searchItemMouseleaveHandler = function searchItemMouseleaveHandler(item) {
+ item.isOpen = false;
+ item.isHover = false;
+ };
+
+ EmChatMsg.prototype.searchItemMouseenterHandler = function searchItemMouseenterHandler(item) {
+ item.isHover = true;
+ };
+
+ EmChatMsg.prototype.gotoChatHandler = function gotoChatHandler(item) {
+ ea.publish(nsCons.EVENT_CHAT_SEARCH_GOTO_CHAT_ITEM, { chatItem: item });
+ };
+
+ EmChatMsg.prototype.openSearchItemHandler = function openSearchItemHandler(item) {
+ item.isOpen = !item.isOpen;
+ };
+
+ EmChatMsg.prototype.searchMoreHandler = function searchMoreHandler() {
+ var _this2 = this;
+
+ if (this.actived.payload.action == nsCons.ACTION_TYPE_SEARCH) {
+ this.searchMoreP = $.get('/admin/chat/direct/search', {
+ search: this.search,
+ size: this.page.size,
+ page: this.page.number + 1
+ }, function (data) {
+ if (data.success) {
+ _this2.chats = _.concat(_this2.chats, data.data.content);
+
+ _this2.page = data.data;
+ _this2.last = data.data.last;
+ _this2.moreCnt = data.data.totalElements - (data.data.number + 1) * data.data.size;
+ }
+ });
+ } else {
+ this.searchMoreP = $.get('/admin/chat/channel/getAts', {
+ size: this.page.size,
+ page: this.page.number + 1
+ }, function (data) {
+ if (data.success) {
+ _this2.chats = _.concat(_this2.chats, _.map(data.data.content, function (item) {
+ var chatChannel = item.chatChannel;
+ chatChannel.chatAt = item;
+ return chatChannel;
+ }));
+
+ _this2.page = data.data;
+ _this2.last = data.data.last;
+ _this2.moreCnt = data.data.totalElements - (data.data.number + 1) * data.data.size;
+ }
+ });
+ }
+ };
+
+ EmChatMsg.prototype.removePinHandler = function removePinHandler(item) {
+ var _this3 = this;
+
+ $.post('/admin/chat/channel/pin/toggle', {
+ id: item.id,
+ cid: this.channel.id
+ }, function (data, textStatus, xhr) {
+ if (data.success) {
+ _this3.chats = _.reject(_this3.chats, {
+ id: item.id
+ });
+ toastr.success('移除固定消息成功!');
+ } else {
+ toastr.error(data.data, '移除固定消息失败!');
+ }
+ });
+ };
+
+ EmChatMsg.prototype.removeStowHandler = function removeStowHandler(item) {
+ var _this4 = this;
+
+ $.post('/admin/chat/channel/removeStow', {
+ id: item.chatStow.id
+ }, function (data, textStatus, xhr) {
+ if (data.success) {
+ _this4.chats = _.reject(_this4.chats, {
+ id: item.id
+ });
+ toastr.success('移除收藏消息成功!');
+ } else {
+ toastr.error(data.data, '移除收藏消息失败!');
+ }
+ });
+ };
+
+ EmChatMsg.prototype.removeAtHandler = function removeAtHandler(item) {
+ var _this5 = this;
+
+ $.post('/admin/chat/channel/markAsReaded', {
+ chatAtId: item.chatAt.id
+ }, function (data, textStatus, xhr) {
+ if (data.success) {
+ _this5.chats = _.reject(_this5.chats, {
+ id: item.id
+ });
+ } else {
+ toastr.error(data.data, '移除@消息失败!');
+ }
+ });
+ };
+
+ return EmChatMsg;
+ }(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'loginUser', [_aureliaFramework.bindable], {
+ enumerable: true,
+ initializer: null
+ }), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'isAt', [_aureliaFramework.bindable], {
+ enumerable: true,
+ initializer: null
+ }), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'channel', [_aureliaFramework.bindable], {
+ enumerable: true,
+ initializer: null
+ }), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'chats', [_aureliaFramework.bindable], {
+ enumerable: true,
+ initializer: null
+ }), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'actived', [_aureliaFramework.bindable], {
+ enumerable: true,
+ initializer: null
+ })), _class2)) || _class;
+});
define('resources/elements/em-chat-schedule-edit',['exports', 'aurelia-framework'], function (exports, _aureliaFramework) {
'use strict';
@@ -12393,7 +12973,7 @@ define('resources/elements/em-chat-schedule-remind',['exports', 'aurelia-framewo
EmChatScheduleRemind.prototype._desktopPuh = function _desktopPuh() {
push.create('TMS日程提醒通知', {
- body: '内容: ' + this.event.title,
+ body: '\u5185\u5BB9: ' + this.event.title,
icon: {
x16: 'img/tms-x16.ico',
x32: 'img/tms-x32.png'
@@ -13201,7 +13781,7 @@ define('resources/elements/em-chat-sidebar-left',['exports', 'aurelia-framework'
EmChatSidebarLeft.prototype.leaveHandler = function leaveHandler(item) {
this.confirmMd.show({
- content: '确定要离开频道' + item.title + '
吗?',
+ content: '\u786E\u5B9A\u8981\u79BB\u5F00\u9891\u9053' + item.title + '
\u5417?',
onapprove: function onapprove() {
$.post('/admin/channel/leave', {
id: item.id
@@ -13238,14 +13818,19 @@ define('resources/elements/em-chat-sidebar-left',['exports', 'aurelia-framework'
}, function (data) {
if (data.success) {
item.subscriber = data.data.subscriber;
- toastr.success((isSub ? '取消订阅' : '订阅频道') + '成功!');
+ toastr.success((isSub ? '取消订阅' : '订阅频道') + '\u6210\u529F!');
item.isSubscribed = !isSub;
} else {
- toastr.error(data.data, (isSub ? '取消订阅' : '订阅频道') + '失败!');
+ toastr.error(data.data, (isSub ? '取消订阅' : '订阅频道') + '\u5931\u8D25!');
}
});
};
+ EmChatSidebarLeft.prototype.sysLinkHandler = function sysLinkHandler(item) {
+ $.post('/admin/link/count/inc', { id: item.id });
+ return true;
+ };
+
return EmChatSidebarLeft;
}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'users', [_aureliaFramework.bindable], {
enumerable: true,
@@ -13325,192 +13910,43 @@ define('resources/elements/em-chat-sidebar-right',['exports', 'aurelia-framework
var EmChatSidebarRight = exports.EmChatSidebarRight = (0, _aureliaFramework.containerless)(_class = (_class2 = function () {
function EmChatSidebarRight() {
- var _headerMapping,
+ var _actionMapping,
_this = this;
_classCallCheck(this, EmChatSidebarRight);
- this.last = true;
-
_initDefineProp(this, 'loginUser', _descriptor, this);
_initDefineProp(this, 'isAt', _descriptor2, this);
_initDefineProp(this, 'channel', _descriptor3, this);
- this.forAction = '';
- this.forShow = '';
- this.basePath = utils.getBasePath();
- this.headerMapping = (_headerMapping = {}, _headerMapping[nsCons.ACTION_TYPE_SEARCH] = '无符合检索结果', _headerMapping[nsCons.ACTION_TYPE_AT] = '暂无@消息', _headerMapping[nsCons.ACTION_TYPE_STOW] = '暂无收藏消息', _headerMapping);
+ this.actionMapping = (_actionMapping = {}, _actionMapping[nsCons.ACTION_TYPE_DIR] = { handler: this.dirHandler, nodata: '', show: 'dir' }, _actionMapping[nsCons.ACTION_TYPE_AT] = { nodata: '暂无@消息', show: 'msg' }, _actionMapping[nsCons.ACTION_TYPE_STOW] = { nodata: '暂无收藏消息', show: 'msg' }, _actionMapping[nsCons.ACTION_TYPE_ATTACH] = { handler: this.attachHandler, nodata: '', show: 'attach' }, _actionMapping[nsCons.ACTION_TYPE_SCHEDULE] = { handler: this.scheduleHandler, nodata: '', show: 'schedule' }, _actionMapping[nsCons.ACTION_TYPE_SEARCH] = { nodata: '无符合检索结果', show: 'msg' }, _actionMapping[nsCons.ACTION_TYPE_PIN] = { nodata: '暂无频道固定消息', show: 'msg' }, _actionMapping);
- this.subscribe = ea.subscribe(nsCons.EVENT_CHAT_SEARCH_RESULT, function (payload) {
- _this._mappingActionShow(payload.action);
- var result = payload.result;
- _this.search = payload.search;
- _this.page = result;
- _this.chats = result.content;
- _this.last = result.last;
- _this.moreCnt = result.totalElements - (result.number + 1) * result.size;
- });
-
- this.subscribe2 = ea.subscribe(nsCons.EVENT_CHAT_SHOW_AT, function (payload) {
- _this._mappingActionShow(payload.action);
- var result = payload.result;
- _this.page = result;
- _this.chats = _.map(result.content, function (item) {
- var chatChannel = item.chatChannel;
- chatChannel.chatAt = item;
- return chatChannel;
- });
- _this.last = result.last;
- _this.moreCnt = result.totalElements - (result.number + 1) * result.size;
- });
-
- this.subscribe1 = ea.subscribe(nsCons.EVENT_CHAT_SHOW_STOW, function (payload) {
- _this._mappingActionShow(payload.action);
- _this.chats = payload.result;
- _this.last = true;
- });
-
- this.subscribe3 = ea.subscribe(nsCons.EVENT_CHAT_SHOW_DIR, function (payload) {
- _this._mappingActionShow(payload.action);
- $(_this.dirRef).empty().append(payload.result);
- });
-
- this.subscribe4 = ea.subscribe(nsCons.EVENT_CHAT_SHOW_ATTACH, function (payload) {
- _this._mappingActionShow(payload.action);
- });
-
- this.subscribe5 = ea.subscribe(nsCons.EVENT_CHAT_SHOW_SCHEDULE, function (payload) {
- _this._mappingActionShow(payload.action);
+ this.subscribe = ea.subscribe(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, function (payload) {
+ _this.actived = _.clone(_this.actionMapping[payload.action]);
+ _this.actived.payload = payload;
+ if (_this.actived.handler) {
+ _.bind(_this.actived.handler, _this, payload)();
+ }
});
}
EmChatSidebarRight.prototype.unbind = function unbind() {
-
this.subscribe.dispose();
- this.subscribe1.dispose();
- this.subscribe2.dispose();
- this.subscribe3.dispose();
- this.subscribe4.dispose();
- this.subscribe5.dispose();
- };
-
- EmChatSidebarRight.prototype._mappingActionShow = function _mappingActionShow(forAction) {
- this.forAction = forAction;
- if (_.includes([nsCons.ACTION_TYPE_SEARCH, nsCons.ACTION_TYPE_STOW, nsCons.ACTION_TYPE_AT], this.forAction)) {
- this.forShow = 'chat-msg';
- } else if (_.includes([nsCons.ACTION_TYPE_DIR], this.forAction)) {
- this.forShow = 'wiki-dir';
- } else if (_.includes([nsCons.ACTION_TYPE_ATTACH], this.forAction)) {
- this.forShow = 'chat-attach';
- this.chatAttachVm.fetch();
- } else if (_.includes([nsCons.ACTION_TYPE_SCHEDULE], this.forAction)) {
- this.forShow = 'chat-schedule';
- this.chatScheduleVm.show();
- }
- };
-
- EmChatSidebarRight.prototype.attached = function attached() {
- this.initHotkeys();
- };
-
- EmChatSidebarRight.prototype.initHotkeys = function initHotkeys() {
- var _this2 = this;
-
- $(document).bind('keydown', 'o', function (event) {
- event.preventDefault();
- var item = _.find(_this2.chats, { isHover: true });
- item && (item.isOpen = !item.isOpen);
- });
};
- EmChatSidebarRight.prototype.searchItemMouseleaveHandler = function searchItemMouseleaveHandler(item) {
- item.isOpen = false;
- item.isHover = false;
- };
-
- EmChatSidebarRight.prototype.searchItemMouseenterHandler = function searchItemMouseenterHandler(item) {
- item.isHover = true;
- };
-
- EmChatSidebarRight.prototype.gotoChatHandler = function gotoChatHandler(item) {
- ea.publish(nsCons.EVENT_CHAT_SEARCH_GOTO_CHAT_ITEM, { chatItem: item });
- };
-
- EmChatSidebarRight.prototype.openSearchItemHandler = function openSearchItemHandler(item) {
- item.isOpen = !item.isOpen;
- };
-
- EmChatSidebarRight.prototype.searchMoreHandler = function searchMoreHandler() {
- var _this3 = this;
-
- if (this.forAction == nsCons.ACTION_TYPE_SEARCH) {
- this.searchMoreP = $.get('/admin/chat/direct/search', {
- search: this.search,
- size: this.page.size,
- page: this.page.number + 1
- }, function (data) {
- if (data.success) {
- _this3.chats = _.concat(_this3.chats, data.data.content);
-
- _this3.page = data.data;
- _this3.last = data.data.last;
- _this3.moreCnt = data.data.totalElements - (data.data.number + 1) * data.data.size;
- }
- });
- } else {
- this.searchMoreP = $.get('/admin/chat/channel/getAts', {
- size: this.page.size,
- page: this.page.number + 1
- }, function (data) {
- if (data.success) {
- _this3.chats = _.concat(_this3.chats, _.map(data.data.content, function (item) {
- var chatChannel = item.chatChannel;
- chatChannel.chatAt = item;
- return chatChannel;
- }));
-
- _this3.page = data.data;
- _this3.last = data.data.last;
- _this3.moreCnt = data.data.totalElements - (data.data.number + 1) * data.data.size;
- }
- });
- }
+ EmChatSidebarRight.prototype.attachHandler = function attachHandler(payload) {
+ this.chatAttachVm.fetch();
};
- EmChatSidebarRight.prototype.removeStowHandler = function removeStowHandler(item) {
- var _this4 = this;
-
- $.post('/admin/chat/channel/removeStow', {
- id: item.chatStow.id
- }, function (data, textStatus, xhr) {
- if (data.success) {
- _this4.chats = _.reject(_this4.chats, {
- id: item.id
- });
- toastr.success('移除收藏消息成功!');
- } else {
- toastr.error(data.data, '移除收藏消息失败!');
- }
- });
+ EmChatSidebarRight.prototype.dirHandler = function dirHandler(payload) {
+ $(this.dirRef).empty().append(payload.result);
};
- EmChatSidebarRight.prototype.removeAtHandler = function removeAtHandler(item) {
- var _this5 = this;
-
- $.post('/admin/chat/channel/markAsReaded', {
- chatAtId: item.chatAt.id
- }, function (data, textStatus, xhr) {
- if (data.success) {
- _this5.chats = _.reject(_this5.chats, {
- id: item.id
- });
- } else {
- toastr.error(data.data, '移除@消息失败!');
- }
- });
+ EmChatSidebarRight.prototype.scheduleHandler = function scheduleHandler(payload) {
+ this.chatScheduleVm.show();
};
return EmChatSidebarRight;
@@ -13743,6 +14179,7 @@ define('resources/elements/em-chat-top-menu',['exports', 'aurelia-framework'], f
this.activeType = '';
this.ACTION_TYPE_SEARCH = nsCons.ACTION_TYPE_SEARCH;
this.ACTION_TYPE_STOW = nsCons.ACTION_TYPE_STOW;
+ this.ACTION_TYPE_PIN = nsCons.ACTION_TYPE_PIN;
this.ACTION_TYPE_AT = nsCons.ACTION_TYPE_AT;
this.ACTION_TYPE_DIR = nsCons.ACTION_TYPE_DIR;
this.ACTION_TYPE_ATTACH = nsCons.ACTION_TYPE_ATTACH;
@@ -13755,7 +14192,7 @@ define('resources/elements/em-chat-top-menu',['exports', 'aurelia-framework'], f
_this2.dir = payload.dir;
if (_this2.activeType == _this2.ACTION_TYPE_DIR && _this2.isRightSidebarShow) {
- ea.publish(nsCons.EVENT_CHAT_SHOW_DIR, {
+ ea.publish(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, {
action: _this2.activeType,
result: _this2.dir
});
@@ -13865,7 +14302,7 @@ define('resources/elements/em-chat-top-menu',['exports', 'aurelia-framework'], f
if (data.success) {
_this4.toggleRightSidebar(true);
- ea.publish(nsCons.EVENT_CHAT_SEARCH_RESULT, {
+ ea.publish(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, {
action: _this4.activeType,
result: data.data,
search: _this4.search
@@ -13965,7 +14402,7 @@ define('resources/elements/em-chat-top-menu',['exports', 'aurelia-framework'], f
chatChannel.chatStow = item;
return chatChannel;
});
- ea.publish(nsCons.EVENT_CHAT_SHOW_STOW, {
+ ea.publish(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, {
action: _this7.activeType,
result: _.reverse(stowChats)
});
@@ -13991,7 +14428,7 @@ define('resources/elements/em-chat-top-menu',['exports', 'aurelia-framework'], f
size: 20
}, function (data) {
if (data.success) {
- ea.publish(nsCons.EVENT_CHAT_SHOW_AT, {
+ ea.publish(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, {
action: _this8.activeType,
result: data.data
});
@@ -14016,7 +14453,7 @@ define('resources/elements/em-chat-top-menu',['exports', 'aurelia-framework'], f
}
this.activeType = nsCons.ACTION_TYPE_DIR;
- ea.publish(nsCons.EVENT_CHAT_SHOW_DIR, {
+ ea.publish(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, {
action: this.activeType,
result: this.dir
});
@@ -14031,7 +14468,7 @@ define('resources/elements/em-chat-top-menu',['exports', 'aurelia-framework'], f
}
this.activeType = nsCons.ACTION_TYPE_ATTACH;
- ea.publish(nsCons.EVENT_CHAT_SHOW_ATTACH, {
+ ea.publish(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, {
action: this.activeType
});
this.toggleRightSidebar(true);
@@ -14045,7 +14482,7 @@ define('resources/elements/em-chat-top-menu',['exports', 'aurelia-framework'], f
}
this.activeType = nsCons.ACTION_TYPE_SCHEDULE;
- ea.publish(nsCons.EVENT_CHAT_SHOW_SCHEDULE, {
+ ea.publish(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, {
action: this.activeType
});
this.toggleRightSidebar(true);
@@ -14137,7 +14574,40 @@ define('resources/elements/em-chat-top-menu',['exports', 'aurelia-framework'], f
EmChatTopMenu.prototype.openChannelLinkHandler = function openChannelLinkHandler(event, item) {
event.stopImmediatePropagation();
+ $(this.channelLinksDdRef).dropdown('hide');
utils.openNewWin(item.href);
+ $.post('/admin/link/count/inc', { id: item.id });
+ };
+
+ EmChatTopMenu.prototype.showPinHandler = function showPinHandler(event) {
+ var _this9 = this;
+
+ event.stopImmediatePropagation();
+ if (this.isRightSidebarShow && this.activeType == nsCons.ACTION_TYPE_PIN && !event.ctrlKey) {
+ this.toggleRightSidebar();
+ return;
+ }
+
+ this.activeType = nsCons.ACTION_TYPE_PIN;
+
+ this.ajaxPin = $.get('/admin/chat/channel/pin/list', {
+ cid: this.channel.id
+ }, function (data) {
+ if (data.success) {
+ var pinChats = _.map(data.data, function (item) {
+ var chatChannel = item.chatChannel;
+ chatChannel.chatPin = item;
+ return chatChannel;
+ });
+ ea.publish(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, {
+ action: _this9.activeType,
+ result: _.reverse(pinChats)
+ });
+ _this9.toggleRightSidebar(true);
+ } else {
+ toastr.error(data.data, '获取频道固定消息失败!');
+ }
+ });
};
return EmChatTopMenu;
@@ -14843,7 +15313,7 @@ define('resources/elements/em-user-avatar',['exports', 'aurelia-framework', 'col
};
EmUserAvatar.prototype._calcNameChar = function _calcNameChar() {
- var lastChar = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+ var lastChar = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
if (this.user.name) {
this.nameChar = lastChar ? _.last(this.user.name) : _.first(this.user.name);
@@ -16896,6 +17366,30 @@ define('aurelia-templating-resources/css-resource',['exports', 'aurelia-templati
return ViewCSS;
}
});
+define('aurelia-templating-resources/attr-binding-behavior',['exports', 'aurelia-binding'], function (exports, _aureliaBinding) {
+ 'use strict';
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.AttrBindingBehavior = undefined;
+
+
+
+ var AttrBindingBehavior = exports.AttrBindingBehavior = function () {
+ function AttrBindingBehavior() {
+
+ }
+
+ AttrBindingBehavior.prototype.bind = function bind(binding, source) {
+ binding.targetObserver = new _aureliaBinding.DataAttributeObserver(binding.target, binding.targetProperty);
+ };
+
+ AttrBindingBehavior.prototype.unbind = function unbind(binding, source) {};
+
+ return AttrBindingBehavior;
+ }();
+});
define('aurelia-templating-resources/binding-mode-behaviors',['exports', 'aurelia-binding', 'aurelia-metadata'], function (exports, _aureliaBinding, _aureliaMetadata) {
'use strict';
@@ -20209,6 +20703,32 @@ define('highlight/lib/languages/ceylon',['require','exports','module'],function
};
});
+define('highlight/lib/languages/clean',['require','exports','module'],function (require, exports, module) {module.exports = function(hljs) {
+ return {
+ aliases: ['clean','icl','dcl'],
+ keywords: {
+ keyword:
+ 'if let in with where case of class instance otherwise ' +
+ 'implementation definition system module from import qualified as ' +
+ 'special code inline foreign export ccall stdcall generic derive ' +
+ 'infix infixl infixr',
+ literal:
+ 'True False'
+ },
+ contains: [
+
+ hljs.C_LINE_COMMENT_MODE,
+ hljs.C_BLOCK_COMMENT_MODE,
+ hljs.APOS_STRING_MODE,
+ hljs.QUOTE_STRING_MODE,
+ hljs.C_NUMBER_MODE,
+
+ {begin: '->|<-[|:]?|::|#!?|>>=|\\{\\||\\|\\}|:==|=:|\\.\\.|<>|`'} // relevance booster
+ ]
+ };
+};
+});
+
define('highlight/lib/languages/clojure',['require','exports','module'],function (require, exports, module) {module.exports = function(hljs) {
var keywords = {
'builtin-name':
@@ -22906,6 +23426,52 @@ define('highlight/lib/languages/fix',['require','exports','module'],function (re
};
});
+define('highlight/lib/languages/flix',['require','exports','module'],function (require, exports, module) {module.exports = function (hljs) {
+
+ var CHAR = {
+ className: 'string',
+ begin: /'(.|\\[xXuU][a-zA-Z0-9]+)'/
+ };
+
+ var STRING = {
+ className: 'string',
+ variants: [
+ {
+ begin: '"', end: '"'
+ }
+ ]
+ };
+
+ var NAME = {
+ className: 'title',
+ begin: /[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/
+ };
+
+ var METHOD = {
+ className: 'function',
+ beginKeywords: 'def',
+ end: /[:={\[(\n;]/,
+ excludeEnd: true,
+ contains: [NAME]
+ };
+
+ return {
+ keywords: {
+ literal: 'true false',
+ keyword: 'case class def else enum if impl import in lat rel index let match namespace switch type yield with'
+ },
+ contains: [
+ hljs.C_LINE_COMMENT_MODE,
+ hljs.C_BLOCK_COMMENT_MODE,
+ CHAR,
+ STRING,
+ METHOD,
+ hljs.C_NUMBER_MODE
+ ]
+ };
+};
+});
+
define('highlight/lib/languages/fortran',['require','exports','module'],function (require, exports, module) {module.exports = function(hljs) {
var PARAMS = {
className: 'params',
@@ -23527,7 +24093,7 @@ define('highlight/lib/languages/glsl',['require','exports','module'],function (r
keywords: {
keyword:
// Statements
- 'break continue discard do else for if return while' +
+ 'break continue discard do else for if return while switch case default ' +
// Qualifiers
'attribute binding buffer ccw centroid centroid varying coherent column_major const cw ' +
'depth_any depth_greater depth_less depth_unchanged early_fragment_tests equal_spacing ' +
@@ -24120,57 +24686,111 @@ define('highlight/lib/languages/haxe',['require','exports','module'],function (r
var IDENT_RE = '[a-zA-Z_$][a-zA-Z0-9_$]*';
var IDENT_FUNC_RETURN_TYPE_RE = '([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)';
+ var HAXE_BASIC_TYPES = 'Int Float String Bool Dynamic Void Array ';
+
return {
aliases: ['hx'],
keywords: {
- keyword: 'break callback case cast catch class continue default do dynamic else enum extends extern ' +
- 'for function here if implements import in inline interface never new override package private ' +
- 'public return static super switch this throw trace try typedef untyped using var while',
- literal: 'true false null'
+ keyword: 'break callback case cast catch continue default do dynamic else enum extern ' +
+ 'for function here if import in inline never new override package private get set ' +
+ 'public return static super switch this throw trace try typedef untyped using var while ' +
+ HAXE_BASIC_TYPES,
+ built_in:
+ 'trace this',
+ literal:
+ 'true false null _'
},
contains: [
- hljs.APOS_STRING_MODE,
+ { className: 'string', // interpolate-able strings
+ begin: '\'', end: '\'',
+ contains: [
+ hljs.BACKSLASH_ESCAPE,
+ { className: 'subst', // interpolation
+ begin: '\\$\\{', end: '\\}'
+ },
+ { className: 'subst', // interpolation
+ begin: '\\$', end: '\\W}'
+ }
+ ]
+ },
hljs.QUOTE_STRING_MODE,
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE,
hljs.C_NUMBER_MODE,
- {
- className: 'class',
- beginKeywords: 'class interface', end: '{', excludeEnd: true,
- contains: [
- {
- beginKeywords: 'extends implements'
- },
- hljs.TITLE_MODE
- ]
+ { className: 'meta', // compiler meta
+ begin: '@:', end: '$'
},
- {
- className: 'meta',
+ { className: 'meta', // compiler conditionals
begin: '#', end: '$',
keywords: {'meta-keyword': 'if else elseif end error'}
},
- {
- className: 'function',
- beginKeywords: 'function', end: '[{;]', excludeEnd: true,
- illegal: '\\S',
+ { className: 'type', // function types
+ begin: ':[ \t]*', end: '[^A-Za-z0-9_ \t\\->]',
+ excludeBegin: true, excludeEnd: true,
+ relevance: 0
+ },
+ { className: 'type', // types
+ begin: ':[ \t]*', end: '\\W',
+ excludeBegin: true, excludeEnd: true
+ },
+ { className: 'type', // instantiation
+ begin: 'new *', end: '\\W',
+ excludeBegin: true, excludeEnd: true
+ },
+ { className: 'class', // enums
+ beginKeywords: 'enum', end: '\\{',
contains: [
- hljs.TITLE_MODE,
- {
- className: 'params',
+ hljs.TITLE_MODE
+ ]
+ },
+ { className: 'class', // abstracts
+ beginKeywords: 'abstract', end: '[\\{$]',
+ contains: [
+ { className: 'type',
begin: '\\(', end: '\\)',
+ excludeBegin: true, excludeEnd: true
+ },
+ { className: 'type',
+ begin: 'from +', end: '\\W',
+ excludeBegin: true, excludeEnd: true
+ },
+ { className: 'type',
+ begin: 'to +', end: '\\W',
+ excludeBegin: true, excludeEnd: true
+ },
+ hljs.TITLE_MODE
+ ],
+ keywords: {
+ keyword: 'abstract from to'
+ }
+ },
+ { className: 'class', // classes
+ begin: '\\b(class|interface) +', end: '[\\{$]', excludeEnd: true,
+ keywords: 'class interface',
+ contains: [
+ { className: 'keyword',
+ begin: '\\b(extends|implements) +',
+ keywords: 'extends implements',
contains: [
- hljs.APOS_STRING_MODE,
- hljs.QUOTE_STRING_MODE,
- hljs.C_LINE_COMMENT_MODE,
- hljs.C_BLOCK_COMMENT_MODE
+ {
+ className: 'type',
+ begin: hljs.IDENT_RE,
+ relevance: 0
+ }
]
},
- {
- begin: ':\\s*' + IDENT_FUNC_RETURN_TYPE_RE
- }
+ hljs.TITLE_MODE
+ ]
+ },
+ { className: 'function',
+ beginKeywords: 'function', end: '\\(', excludeEnd: true,
+ illegal: '\\S',
+ contains: [
+ hljs.TITLE_MODE
]
}
- ]
+ ],
+ illegal: /<\//
};
};
});
@@ -24539,13 +25159,14 @@ define('highlight/lib/languages/irpf90',['require','exports','module'],function
});
define('highlight/lib/languages/java',['require','exports','module'],function (require, exports, module) {module.exports = function(hljs) {
- var GENERIC_IDENT_RE = hljs.UNDERSCORE_IDENT_RE + '(<' + hljs.UNDERSCORE_IDENT_RE + '(\\s*,\\s*' + hljs.UNDERSCORE_IDENT_RE + ')*>)?';
+ var JAVA_IDENT_RE = '[\u00C0-\u02B8a-zA-Z_$][\u00C0-\u02B8a-zA-Z_$0-9]*';
+ var GENERIC_IDENT_RE = JAVA_IDENT_RE + '(<' + JAVA_IDENT_RE + '(\\s*,\\s*' + JAVA_IDENT_RE + ')*>)?';
var KEYWORDS =
'false synchronized int abstract float private char boolean static null if const ' +
'for true while long strictfp finally protected import native final void ' +
'enum else break transient catch instanceof byte super volatile case assert short ' +
'package default double public try this switch continue throws protected public private ' +
- 'module requires exports';
+ 'module requires exports do';
// https://docs.oracle.com/javase/7/docs/technotes/guides/language/underscores-literals.html
var JAVA_NUMBER_RE = '\\b' +
@@ -27685,65 +28306,86 @@ define('highlight/lib/languages/nix',['require','exports','module'],function (re
define('highlight/lib/languages/nsis',['require','exports','module'],function (require, exports, module) {module.exports = function(hljs) {
var CONSTANTS = {
className: 'variable',
- begin: '\\$(ADMINTOOLS|APPDATA|CDBURN_AREA|CMDLINE|COMMONFILES32|COMMONFILES64|COMMONFILES|COOKIES|DESKTOP|DOCUMENTS|EXEDIR|EXEFILE|EXEPATH|FAVORITES|FONTS|HISTORY|HWNDPARENT|INSTDIR|INTERNET_CACHE|LANGUAGE|LOCALAPPDATA|MUSIC|NETHOOD|OUTDIR|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES32|PROGRAMFILES64|PROGRAMFILES|QUICKLAUNCH|RECENT|RESOURCES_LOCALIZED|RESOURCES|SENDTO|SMPROGRAMS|SMSTARTUP|STARTMENU|SYSDIR|TEMP|TEMPLATES|VIDEOS|WINDIR)'
+ begin: /\$(ADMINTOOLS|APPDATA|CDBURN_AREA|CMDLINE|COMMONFILES32|COMMONFILES64|COMMONFILES|COOKIES|DESKTOP|DOCUMENTS|EXEDIR|EXEFILE|EXEPATH|FAVORITES|FONTS|HISTORY|HWNDPARENT|INSTDIR|INTERNET_CACHE|LANGUAGE|LOCALAPPDATA|MUSIC|NETHOOD|OUTDIR|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES32|PROGRAMFILES64|PROGRAMFILES|QUICKLAUNCH|RECENT|RESOURCES_LOCALIZED|RESOURCES|SENDTO|SMPROGRAMS|SMSTARTUP|STARTMENU|SYSDIR|TEMP|TEMPLATES|VIDEOS|WINDIR)/
};
var DEFINES = {
// ${defines}
className: 'variable',
- begin: '\\$+{[a-zA-Z0-9_]+}'
+ begin: /\$+{[\w\.:-]+}/
};
var VARIABLES = {
// $variables
className: 'variable',
- begin: '\\$+[a-zA-Z0-9_]+',
- illegal: '\\(\\){}'
+ begin: /\$+\w+/,
+ illegal: /\(\){}/
};
var LANGUAGES = {
// $(language_strings)
className: 'variable',
- begin: '\\$+\\([a-zA-Z0-9_]+\\)'
+ begin: /\$+\([\w\^\.:-]+\)/
};
var PARAMETERS = {
// command parameters
- className: 'built_in',
+ className: 'params',
begin: '(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)'
};
- var COMPILER ={
+ var COMPILER = {
// !compiler_flags
className: 'keyword',
- begin: '\\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversionsystem|ifdef|ifmacrodef|ifmacrondef|ifndef|if|include|insertmacro|macroend|macro|makensis|packhdr|searchparse|searchreplace|tempfile|undef|verbose|warning)'
+ begin: /\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversionsystem|ifdef|ifmacrodef|ifmacrondef|ifndef|if|include|insertmacro|macroend|macro|makensis|packhdr|searchparse|searchreplace|tempfile|undef|verbose|warning)/
+ };
+
+ var METACHARS = {
+ // $\n, $\r, $\t, $$
+ className: 'subst',
+ begin: /\$(\\[nrt]|\$)/
+ };
+
+ var PLUGINS = {
+ // plug::ins
+ className: 'class',
+ begin: /\w+\:\:\w+/
+ };
+
+ var STRING = {
+ className: 'string',
+ variants: [
+ {
+ begin: '"', end: '"'
+ },
+ {
+ begin: '\'', end: '\''
+ },
+ {
+ begin: '`', end: '`'
+ }
+ ],
+ illegal: /\n/,
+ contains: [
+ METACHARS,
+ CONSTANTS,
+ DEFINES,
+ VARIABLES,
+ LANGUAGES
+ ]
};
return {
case_insensitive: false,
keywords: {
keyword:
- 'Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow BGFont BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecWait ExpandEnvStrings File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileReadWord FileSeek FileWrite FileWriteByte FileWriteUTF16LE FileWriteWord FindClose FindFirst FindNext FindWindow FlushINI FunctionEnd GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetLabelAddress GetTempFileName Goto HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstTypeSetText IntCmp IntCmpU IntFmt IntOp IsWindow LangString LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestSupportedOS MessageBox MiscButtonText Name Nop OutFile Page PageCallbacks PageExEnd Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir SearchPath SectionEnd SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionGroupEnd SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetPluginUnload SetRebootFlag SetRegView SetShellVarContext SetSilent ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubCaption SubSectionEnd Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr WriteUninstaller XPStyle',
+ 'Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow BGFont BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecWait ExpandEnvStrings File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileReadWord FileSeek FileWrite FileWriteByte FileWriteUTF16LE FileWriteWord FindClose FindFirst FindNext FindWindow FlushINI FunctionEnd GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetLabelAddress GetTempFileName Goto HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstTypeSetText IntCmp IntCmpU IntFmt IntOp IsWindow LangString LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestSupportedOS MessageBox MiscButtonText Name Nop OutFile Page PageCallbacks PageExEnd Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir SearchPath SectionEnd SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionGroupEnd SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetRebootFlag SetRegView SetShellVarContext SetSilent ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubCaption Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr WriteUninstaller XPStyle',
literal:
- 'admin all auto both colored current false force hide highest lastused leave listonly none normal notset off on open print show silent silentlog smooth textonly true user '
+ 'admin all auto both bottom bzip2 colored components current custom directory false force hide highest ifdiff ifnewer instfiles lastused leave left license listonly lzma nevershow none normal notset off on open print right show silent silentlog smooth textonly top true try un.components un.custom un.directory un.instfiles un.license uninstConfirm user Win10 Win7 Win8 WinVista zlib'
},
contains: [
hljs.HASH_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE,
- {
- className: 'string',
- begin: '"', end: '"',
- illegal: '\\n',
- contains: [
- { // $\n, $\r, $\t, $$
- begin: '\\$(\\\\(n|r|t)|\\$)'
- },
- CONSTANTS,
- DEFINES,
- VARIABLES,
- LANGUAGES
- ]
- },
hljs.COMMENT(
';',
'$',
@@ -27753,17 +28395,16 @@ define('highlight/lib/languages/nsis',['require','exports','module'],function (r
),
{
className: 'function',
- beginKeywords: 'Function PageEx Section SectionGroup SubSection', end: '$'
+ beginKeywords: 'Function PageEx Section SectionGroup', end: '$'
},
+ STRING,
COMPILER,
DEFINES,
VARIABLES,
LANGUAGES,
PARAMETERS,
- hljs.NUMBER_MODE,
- { // plug::ins
- begin: hljs.IDENT_RE + '::' + hljs.IDENT_RE
- }
+ PLUGINS,
+ hljs.NUMBER_MODE
]
};
};
@@ -28450,7 +29091,7 @@ define('highlight/lib/languages/powershell',['require','exports','module'],funct
case_insensitive: true,
keywords: {
keyword: 'if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch',
- built_in: 'Add-Computer Add-Content Add-History Add-JobTrigger Add-Member Add-PSSnapin Add-Type Checkpoint-Computer Clear-Content Clear-EventLog Clear-History Clear-Host Clear-Item Clear-ItemProperty Clear-Variable Compare-Object Complete-Transaction Connect-PSSession Connect-WSMan Convert-Path ConvertFrom-Csv ConvertFrom-Json ConvertFrom-SecureString ConvertFrom-StringData ConvertTo-Csv ConvertTo-Html ConvertTo-Json ConvertTo-SecureString ConvertTo-Xml Copy-Item Copy-ItemProperty Debug-Process Disable-ComputerRestore Disable-JobTrigger Disable-PSBreakpoint Disable-PSRemoting Disable-PSSessionConfiguration Disable-WSManCredSSP Disconnect-PSSession Disconnect-WSMan Disable-ScheduledJob Enable-ComputerRestore Enable-JobTrigger Enable-PSBreakpoint Enable-PSRemoting Enable-PSSessionConfiguration Enable-ScheduledJob Enable-WSManCredSSP Enter-PSSession Exit-PSSession Export-Alias Export-Clixml Export-Console Export-Counter Export-Csv Export-FormatData Export-ModuleMember Export-PSSession ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command Get-ComputerRestorePoint Get-Content Get-ControlPanelItem Get-Counter Get-Credential Get-Culture Get-Date Get-Event Get-EventLog Get-EventSubscriber Get-ExecutionPolicy Get-FormatData Get-Host Get-HotFix Get-Help Get-History Get-IseSnippet Get-Item Get-ItemProperty Get-Job Get-JobTrigger Get-Location Get-Member Get-Module Get-PfxCertificate Get-Process Get-PSBreakpoint Get-PSCallStack Get-PSDrive Get-PSProvider Get-PSSession Get-PSSessionConfiguration Get-PSSnapin Get-Random Get-ScheduledJob Get-ScheduledJobOption Get-Service Get-TraceSource Get-Transaction Get-TypeData Get-UICulture Get-Unique Get-Variable Get-Verb Get-WinEvent Get-WmiObject Get-WSManCredSSP Get-WSManInstance Group-Object Import-Alias Import-Clixml Import-Counter Import-Csv Import-IseSnippet Import-LocalizedData Import-PSSession Import-Module Invoke-AsWorkflow Invoke-Command Invoke-Expression Invoke-History Invoke-Item Invoke-RestMethod Invoke-WebRequest Invoke-WmiMethod Invoke-WSManAction Join-Path Limit-EventLog Measure-Command Measure-Object Move-Item Move-ItemProperty New-Alias New-Event New-EventLog New-IseSnippet New-Item New-ItemProperty New-JobTrigger New-Object New-Module New-ModuleManifest New-PSDrive New-PSSession New-PSSessionConfigurationFile New-PSSessionOption New-PSTransportOption New-PSWorkflowExecutionOption New-PSWorkflowSession New-ScheduledJobOption New-Service New-TimeSpan New-Variable New-WebServiceProxy New-WinEvent New-WSManInstance New-WSManSessionOption Out-Default Out-File Out-GridView Out-Host Out-Null Out-Printer Out-String Pop-Location Push-Location Read-Host Receive-Job Register-EngineEvent Register-ObjectEvent Register-PSSessionConfiguration Register-ScheduledJob Register-WmiEvent Remove-Computer Remove-Event Remove-EventLog Remove-Item Remove-ItemProperty Remove-Job Remove-JobTrigger Remove-Module Remove-PSBreakpoint Remove-PSDrive Remove-PSSession Remove-PSSnapin Remove-TypeData Remove-Variable Remove-WmiObject Remove-WSManInstance Rename-Computer Rename-Item Rename-ItemProperty Reset-ComputerMachinePassword Resolve-Path Restart-Computer Restart-Service Restore-Computer Resume-Job Resume-Service Save-Help Select-Object Select-String Select-Xml Send-MailMessage Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-JobTrigger Set-Location Set-PSBreakpoint Set-PSDebug Set-PSSessionConfiguration Set-ScheduledJob Set-ScheduledJobOption Set-Service Set-StrictMode Set-TraceSource Set-Variable Set-WmiInstance Set-WSManInstance Set-WSManQuickConfig Show-Command Show-ControlPanelItem Show-EventLog Sort-Object Split-Path Start-Job Start-Process Start-Service Start-Sleep Start-Transaction Start-Transcript Stop-Computer Stop-Job Stop-Process Stop-Service Stop-Transcript Suspend-Job Suspend-Service Tee-Object Test-ComputerSecureChannel Test-Connection Test-ModuleManifest Test-Path Test-PSSessionConfigurationFile Trace-Command Unblock-File Undo-Transaction Unregister-Event Unregister-PSSessionConfiguration Unregister-ScheduledJob Update-FormatData Update-Help Update-List Update-TypeData Use-Transaction Wait-Event Wait-Job Wait-Process Where-Object Write-Debug Write-Error Write-EventLog Write-Host Write-Output Write-Progress Write-Verbose Write-Warning',
+ built_in: 'Add-Computer Add-Content Add-History Add-JobTrigger Add-Member Add-PSSnapin Add-Type Checkpoint-Computer Clear-Content Clear-EventLog Clear-History Clear-Host Clear-Item Clear-ItemProperty Clear-Variable Compare-Object Complete-Transaction Connect-PSSession Connect-WSMan Convert-Path ConvertFrom-Csv ConvertFrom-Json ConvertFrom-SecureString ConvertFrom-StringData ConvertTo-Csv ConvertTo-Html ConvertTo-Json ConvertTo-SecureString ConvertTo-Xml Copy-Item Copy-ItemProperty Debug-Process Disable-ComputerRestore Disable-JobTrigger Disable-PSBreakpoint Disable-PSRemoting Disable-PSSessionConfiguration Disable-WSManCredSSP Disconnect-PSSession Disconnect-WSMan Disable-ScheduledJob Enable-ComputerRestore Enable-JobTrigger Enable-PSBreakpoint Enable-PSRemoting Enable-PSSessionConfiguration Enable-ScheduledJob Enable-WSManCredSSP Enter-PSSession Exit-PSSession Export-Alias Export-Clixml Export-Console Export-Counter Export-Csv Export-FormatData Export-ModuleMember Export-PSSession ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command Get-ComputerRestorePoint Get-Content Get-ControlPanelItem Get-Counter Get-Credential Get-Culture Get-Date Get-Event Get-EventLog Get-EventSubscriber Get-ExecutionPolicy Get-FormatData Get-Host Get-HotFix Get-Help Get-History Get-IseSnippet Get-Item Get-ItemProperty Get-Job Get-JobTrigger Get-Location Get-Member Get-Module Get-PfxCertificate Get-Process Get-PSBreakpoint Get-PSCallStack Get-PSDrive Get-PSProvider Get-PSSession Get-PSSessionConfiguration Get-PSSnapin Get-Random Get-ScheduledJob Get-ScheduledJobOption Get-Service Get-TraceSource Get-Transaction Get-TypeData Get-UICulture Get-Unique Get-Variable Get-Verb Get-WinEvent Get-WmiObject Get-WSManCredSSP Get-WSManInstance Group-Object Import-Alias Import-Clixml Import-Counter Import-Csv Import-IseSnippet Import-LocalizedData Import-PSSession Import-Module Invoke-AsWorkflow Invoke-Command Invoke-Expression Invoke-History Invoke-Item Invoke-RestMethod Invoke-WebRequest Invoke-WmiMethod Invoke-WSManAction Join-Path Limit-EventLog Measure-Command Measure-Object Move-Item Move-ItemProperty New-Alias New-Event New-EventLog New-IseSnippet New-Item New-ItemProperty New-JobTrigger New-Object New-Module New-ModuleManifest New-PSDrive New-PSSession New-PSSessionConfigurationFile New-PSSessionOption New-PSTransportOption New-PSWorkflowExecutionOption New-PSWorkflowSession New-ScheduledJobOption New-Service New-TimeSpan New-Variable New-WebServiceProxy New-WinEvent New-WSManInstance New-WSManSessionOption Out-Default Out-File Out-GridView Out-Host Out-Null Out-Printer Out-String Pop-Location Push-Location Read-Host Receive-Job Register-EngineEvent Register-ObjectEvent Register-PSSessionConfiguration Register-ScheduledJob Register-WmiEvent Remove-Computer Remove-Event Remove-EventLog Remove-Item Remove-ItemProperty Remove-Job Remove-JobTrigger Remove-Module Remove-PSBreakpoint Remove-PSDrive Remove-PSSession Remove-PSSnapin Remove-TypeData Remove-Variable Remove-WmiObject Remove-WSManInstance Rename-Computer Rename-Item Rename-ItemProperty Reset-ComputerMachinePassword Resolve-Path Restart-Computer Restart-Service Restore-Computer Resume-Job Resume-Service Save-Help Select-Object Select-String Select-Xml Send-MailMessage Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-JobTrigger Set-Location Set-PSBreakpoint Set-PSDebug Set-PSSessionConfiguration Set-ScheduledJob Set-ScheduledJobOption Set-Service Set-StrictMode Set-TraceSource Set-Variable Set-WmiInstance Set-WSManInstance Set-WSManQuickConfig Show-Command Show-ControlPanelItem Show-EventLog Sort-Object Split-Path Start-Job Start-Process Start-Service Start-Sleep Start-Transaction Start-Transcript Stop-Computer Stop-Job Stop-Process Stop-Service Stop-Transcript Suspend-Job Suspend-Service Tee-Object Test-ComputerSecureChannel Test-Connection Test-ModuleManifest Test-Path Test-PSSessionConfigurationFile Trace-Command Unblock-File Undo-Transaction Unregister-Event Unregister-PSSessionConfiguration Unregister-ScheduledJob Update-FormatData Update-Help Update-List Update-TypeData Use-Transaction Wait-Event Wait-Job Wait-Process Where-Object Write-Debug Write-Error Write-EventLog Write-Host Write-Output Write-Progress Write-Verbose Write-Warning Add-MDTPersistentDrive Disable-MDTMonitorService Enable-MDTMonitorService Get-MDTDeploymentShareStatistics Get-MDTMonitorData Get-MDTOperatingSystemCatalog Get-MDTPersistentDrive Import-MDTApplication Import-MDTDriver Import-MDTOperatingSystem Import-MDTPackage Import-MDTTaskSequence New-MDTDatabase Remove-MDTMonitorData Remove-MDTPersistentDrive Restore-MDTPersistentDrive Set-MDTMonitorData Test-MDTDeploymentShare Test-MDTMonitorData Update-MDTDatabaseSchema Update-MDTDeploymentShare Update-MDTLinkedDS Update-MDTMedia Update-MDTMedia Add-VamtProductKey Export-VamtData Find-VamtManagedMachine Get-VamtConfirmationId Get-VamtProduct Get-VamtProductKey Import-VamtData Initialize-VamtData Install-VamtConfirmationId Install-VamtProductActivation Install-VamtProductKey Update-VamtProduct',
nomarkup: '-ne -eq -lt -gt -ge -le -not -like -notlike -match -notmatch -contains -notcontains -in -notin -replace'
},
contains: [
@@ -28906,7 +29547,7 @@ define('highlight/lib/languages/python',['require','exports','module'],function
built_in:
'Ellipsis NotImplemented'
},
- illegal: /(<\/|->|\?)/,
+ illegal: /(<\/|->|\?)|=>/,
contains: [
PROMPT,
NUMBER,
@@ -28914,7 +29555,7 @@ define('highlight/lib/languages/python',['require','exports','module'],function
hljs.HASH_COMMENT_MODE,
{
variants: [
- {className: 'function', beginKeywords: 'def', relevance: 10},
+ {className: 'function', beginKeywords: 'def'},
{className: 'class', beginKeywords: 'class'}
],
end: /:/,
@@ -31406,7 +32047,7 @@ define('highlight/lib/languages/swift',['require','exports','module'],function (
var TYPE = {
className: 'type',
- begin: '\\b[A-Z][\\w\']*',
+ begin: '\\b[A-Z][\\w\u00C0-\u02B8\']*',
relevance: 0
};
var BLOCK_COMMENT = hljs.COMMENT(
@@ -31473,7 +32114,7 @@ define('highlight/lib/languages/swift',['require','exports','module'],function (
end: '\\{',
excludeEnd: true,
contains: [
- hljs.inherit(hljs.TITLE_MODE, {begin: /[A-Za-z$_][0-9A-Za-z$_]*/})
+ hljs.inherit(hljs.TITLE_MODE, {begin: /[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})
]
},
{
@@ -32905,6 +33546,34 @@ define('highlight/lib/languages/zephir',['require','exports','module'],function
};
});
+define('common/common-tags',['exports'], function (exports) {
+ 'use strict';
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.default = [{
+ label: '待处理',
+ value: '待处理',
+ color: 'green',
+ type: 'tag'
+ }, {
+ label: '进行中',
+ value: '进行中',
+ color: 'yellow',
+ type: 'tag'
+ }, {
+ label: '已完成',
+ value: '已完成',
+ color: 'blue',
+ type: 'tag'
+ }, {
+ label: '已验收',
+ value: '已验收',
+ color: 'grey',
+ type: 'tag'
+ }];
+});
define('text!app.html', ['module'], function(module) { module.exports = "\r\n \r\n | 版本 | \r\n日期 | \r\n更新人 | \r\n操作 | \r\n
---|---|---|---|---|
\r\n | \r\n 当前(v.${histories.length + 1}) | \r\n${blog.updateDate | timeago} | \r\n${blog.updater.name} | \r\n\r\n |
\r\n | \r\n v.${histories.length - $index} | \r\n${item.blogUpdateDate | timeago} | \r\n${item.blogUpdater.name} | \r\n\r\n 还原此版本 ·\r\n \r\n 删除\r\n \r\n \r\n | \r\n
\n | 版本 | \n日期 | \n更新人 | \n操作 | \n
---|---|---|---|---|
\n | \n 当前(v.${histories.length + 1}) | \n${blog.updateDate | timeago} | \n${blog.updater.name} | \n\n |
\n | \n v.${histories.length - $index} | \n${item.blogUpdateDate | timeago} | \n${item.blogUpdater.name} | \n\n 还原此版本 ·\n \n 删除\n \n \n | \n
标识 | \r\n名称 | \r\n描述 | \r\n可见性 | \r\n拥有者 | \r\n操作 | \r\n||
---|---|---|---|---|---|---|---|
${item.name} | \r\n${item.title} | \r\n\r\n | \r\n | \r\n | ${item.owner.name ? item.owner.name : item.owner.username} | \r\n自己 | \r\n\r\n 加入 \r\n 离开 \r\n | \r\n
标题 | \r\n链接 | \r\n\r\n | 操作 | \r\n||
---|---|---|---|---|---|
${item.title} | \r\n\r\n \r\n \r\n \r\n | \r\n ${item.href} | \r\n\r\n \r\n \r\n \r\n | \r\n \r\n | \r\n \r\n \r\n \r\n | \r\n
标题 | \r\n链接 | \r\n\r\n | 点击 | \r\n操作 | \r\n||
---|---|---|---|---|---|---|
${item.title} | \r\n\r\n \r\n \r\n \r\n | \r\n ${item.href} | \r\n\r\n \r\n \r\n \r\n | \r\n \r\n | ${item.count ? item.count : 0} | \r\n\r\n \r\n \r\n \r\n | \r\n
用户名 | \r\n姓名 | \r\n邮箱 | \r\n登录 | \r\n状态 | \r\n|
---|---|---|---|---|---|
${item.username} | \r\n${item.name} | \r\n${item.mails} | \r\n${item.lastLoginDate | timeago} | \r\n\r\n 启用中 \r\n | \r\n \r\n 已停用 \r\n | \r\n
用户名 | \r\n姓名 | \r\n邮箱 | \r\n登录 | \r\n状态 | \r\n|
---|---|---|---|---|---|
${item.username} | \r\n${item.name} | \r\n${item.mails} | \r\n${item.lastLoginDate | timeago} | \r\n\r\n 启用中 \r\n | \r\n \r\n 已停用 \r\n | \r\n
发起人: | \r\n${event.creator.name} | \r\n
起止时间: | \r\n${event.start | date} - ${event.end | date} | \r\n
参与成员: | \r\n\r\n ${item.name} \r\n | \r\n
日程内容: | \r\n\r\n |
标题 | \r\n链接 | \r\n操作 | \r\n||
---|---|---|---|---|
${item.title} | \r\n\r\n \r\n \r\n \r\n | \r\n ${item.href} | \r\n\r\n \r\n \r\n \r\n | \r\n \r\n \r\n \r\n \r\n | \r\n
标题 | \r\n链接 | \r\n点击 | \r\n操作 | \r\n||
---|---|---|---|---|---|
${item.title} | \r\n\r\n \r\n \r\n \r\n | \r\n ${item.href} | \r\n\r\n \r\n \r\n \r\n | \r\n ${item.count ? item.count : 0} | \r\n\r\n \r\n \r\n \r\n | \r\n
\n \n
\n\r\n \r\n
\r\n${nodeArr.join('')}`;\r\n }\r\n\r\n /**\r\n * 解析wiki目录\r\n * @param {[type]} $e [description]\r\n * @return {[type]} [description]\r\n */\r\n catalog($e) {\r\n var $headers = $(\":header\", $e);\r\n\r\n if ($headers && $headers.size() == 0) {\r\n return false;\r\n }\r\n\r\n var pre = null;\r\n\r\n var link = {\r\n pre: null,\r\n arr: []\r\n };\r\n var current = link;\r\n $headers.each(function(index, h) {\r\n var name = h.nodeName;\r\n if (!pre) {\r\n current.arr.push(h);\r\n pre = name;\r\n } else {\r\n if (pre < name) {\r\n var last = current;\r\n current = {\r\n pre: last,\r\n arr: [h]\r\n };\r\n last.arr.push(current);\r\n pre = name;\r\n } else if (pre == name) {\r\n current.arr.push(h);\r\n } else {\r\n current = current.pre ? current.pre : current;\r\n current.arr.push(h);\r\n pre = name;\r\n }\r\n }\r\n });\r\n\r\n return link;\r\n }\r\n\r\n generateDir(link, uid) {\r\n var $list = $('');\r\n this.prodDir($list, link, uid);\r\n return $list;\r\n }\r\n\r\n dir($e, uid) {\r\n let cl = this.catalog($e);\r\n return cl ? this.generateDir(cl, uid) : '';\r\n }\r\n\r\n prodDir($list, link, uid) {\r\n $.each(link.arr, (index, item) => {\r\n if (item.hasOwnProperty('arr')) {\r\n var $l = $('');\r\n $list.append($l);\r\n this.prodDir($l, item, uid);\r\n } else {\r\n var id = uid ? _.uniqueId(uid) : _.uniqueId('tms-wiki-dir-item-');\r\n var $item = $('').text($(item).attr('id', id).text()).attr('data-id', id);\r\n $list.append($item);\r\n }\r\n });\r\n }\r\n\r\n isElementInViewport(el) {\r\n\r\n //special bonus for those using jQuery\r\n if (typeof jQuery === \"function\" && el instanceof jQuery) {\r\n el = el[0];\r\n }\r\n\r\n var rect = el.getBoundingClientRect();\r\n\r\n return (\r\n rect.top >= 0 &&\r\n rect.left >= 0 &&\r\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && /*or $(window).height() */\r\n rect.right <= (window.innerWidth || document.documentElement.clientWidth) /*or $(window).width() */\r\n );\r\n }\r\n\r\n /**\r\n * 获取光标位置函数\r\n * @param {[type]} ctrl [description]\r\n * @return {[type]} [description]\r\n */\r\n getCursortPosition(ctrl) {\r\n var CaretPos = 0; // IE Support\r\n if (document.selection) {\r\n ctrl.focus();\r\n var Sel = document.selection.createRange();\r\n Sel.moveStart('character', -ctrl.value.length);\r\n CaretPos = Sel.text.length;\r\n }\r\n // Firefox support\r\n else if (ctrl.selectionStart || ctrl.selectionStart == '0') {\r\n CaretPos = ctrl.selectionStart;\r\n }\r\n return (CaretPos);\r\n }\r\n\r\n /**\r\n * 设置光标位置函数\r\n * @param {[type]} ctrl [description]\r\n * @param {[type]} pos [description]\r\n */\r\n setCaretPosition(ctrl, pos) {\r\n if (ctrl.setSelectionRange) {\r\n ctrl.focus();\r\n ctrl.setSelectionRange(pos, pos);\r\n } else if (ctrl.createTextRange) {\r\n var range = ctrl.createTextRange();\r\n range.collapse(true);\r\n range.moveEnd('character', pos);\r\n range.moveStart('character', pos);\r\n range.select();\r\n }\r\n }\r\n\r\n /**\r\n * 是否为绝对url\r\n * @param {[type]} url [description]\r\n * @return {Boolean} [description]\r\n */\r\n isAbsUrl(url) {\r\n if (_.startsWith(url, 'http://')) {\r\n return true;\r\n } else if (_.startsWith(url, 'https://')) {\r\n return true;\r\n } else if (_.startsWith(url, '//')) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n escape(html, encode) {\r\n return html\r\n .replace(!encode ? /&(?!#?\\w+;)/g : /&/g, '&')\r\n .replace(//g, '>')\r\n .replace(/\"/g, '"')\r\n .replace(/'/g, ''');\r\n }\r\n\r\n unescape(html) {\r\n // explicitly match decimal, hex, and named HTML entities \r\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/g, function(_, n) {\r\n n = n.toLowerCase();\r\n if (n === 'colon') return ':';\r\n if (n.charAt(0) === '#') {\r\n return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));\r\n }\r\n return '';\r\n });\r\n }\r\n\r\n /**\r\n * 打开新的浏览器窗口,并跳转到指定页面\r\n * url:需要跳转的地址\r\n */\r\n openNewWin(url) {\r\n\r\n if (url) {\r\n let $a = $(` `).appendTo('body').end();\r\n $(``).appendTo($a).end().click();\r\n\r\n _.delay(() => {\r\n $a.remove();\r\n }, 200);\r\n }\r\n\r\n }\r\n\r\n isAdminUser(user) {\r\n if (user && user.authorities) {\r\n return _.some(user.authorities, (item) => {\r\n return item.id.authority === 'ROLE_ADMIN';\r\n });\r\n }\r\n return false;\r\n }\r\n\r\n isSuperUser(user) {\r\n if (user && user.authorities) {\r\n return _.some(user.authorities, (item) => {\r\n return item.id.authority === 'ROLE_SUPER';\r\n });\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * 判断是否为全角字符\r\n * @param {[type]} str 待判断字符\r\n * @return {Boolean} true: 全角 false: 半角 \r\n */\r\n isSBCcase(str) {\r\n // [^\\x00-\\xff]全角字符\r\n return /[^\\x00-\\xff]/.test(str);\r\n }\r\n\r\n /**\r\n * 判断是否为汉字\r\n * @param {[type]} str 待判断字符\r\n * @return {Boolean} true: 汉字 false: 非汉字\r\n */\r\n isHanzi(str) {\r\n // [\\u4e00-\\u9fa5]汉字 \r\n return /[\\u4e00-\\u9fa5]/ig.test(str);\r\n }\r\n\r\n /**\r\n * 获取字符串byte长度\r\n * val: 要计算的字符串\r\n * return: 字符串byte长度\r\n */\r\n getByteLen(val) {\r\n var len = 0;\r\n for (var i = 0; i < val.length; i++) {\r\n if (this.isHanzi(val[i]) || this.isSBCcase(val[i])) {\r\n len += 2;\r\n } else {\r\n len += 1;\r\n }\r\n }\r\n return len;\r\n }\r\n\r\n /**\r\n * 制字符串的最大显示长度\r\n * value: 要处理的字符串\r\n * maxLen: 限制长度\r\n * return: 处理截取后的字符串\r\n */\r\n abbreviate(value, maxLen) {\r\n if (value && maxLen) {\r\n\r\n var len = 0;\r\n for (var i = 0; i < value.length; i++) {\r\n if (this.isHanzi(value[i]) || this.isSBCcase(value[i])) {\r\n len += 2;\r\n } else {\r\n len += 1;\r\n }\r\n\r\n if (len > maxLen) {\r\n return value.substr(0, i) + '...';\r\n }\r\n }\r\n }\r\n return value;\r\n }\r\n\r\n isMail(mail) {\r\n\r\n var emailRegex = /^([_a-z0-9-]+)(\\.[_a-z0-9-]+)*@([a-z0-9-]+)(\\.[a-z0-9-]+)*(\\.[a-z]{2,4})$/i;\r\n\r\n return emailRegex.test(mail);\r\n }\r\n\r\n // 浏览器OS判断正则表达式\r\n regExpOS = {\r\n ios: /(iPad|iPhone|iPod)/g,\r\n mobileChrome: /(CriOS)/g,\r\n mobile: /Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/g,\r\n cellphone: /iP(hone|od)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/g\r\n }\r\n\r\n // 是否为IE\r\n isIE() {\r\n var\r\n isIE11 = (!(window.ActiveXObject) && 'ActiveXObject' in window),\r\n isIE = ('ActiveXObject' in window);\r\n return (isIE11 || isIE);\r\n }\r\n\r\n // 是否为IE11\r\n isIE11() {\r\n return (!(window.ActiveXObject) && 'ActiveXObject' in window);\r\n }\r\n\r\n // 是否为IOS\r\n isIOS() {\r\n var\r\n userAgent = navigator.userAgent,\r\n isIOS = userAgent.match(this.regExpOS.ios),\r\n isMobileChrome = userAgent.match(this.regExpOS.mobileChrome);\r\n if (isIOS && !isMobileChrome) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n // 是否为cellphone\r\n isCellphone() {\r\n return !!navigator.userAgent.match(this.regExpOS.cellphone);\r\n }\r\n\r\n // 是否为Mobile\r\n isMobile() {\r\n return !!navigator.userAgent.match(this.regExpOS.mobile)\r\n }\r\n\r\n // 是否为Chrome\r\n isChrome() {\r\n return /chrome\\/([\\d.]+)/.test(navigator.userAgent.toLowerCase());\r\n }\r\n\r\n // 是否为Safari\r\n isSafari() {\r\n return /version\\/([\\d.]+)/.test(navigator.userAgent.toLowerCase());\r\n }\r\n\r\n // 是否为Firefox\r\n isFirefox() {\r\n return /firefox\\/([\\d.]+)/.test(navigator.userAgent.toLowerCase());\r\n }\r\n\r\n // 是否为Opera\r\n isOpera() {\r\n return /opera.([\\d.]+)/.test(navigator.userAgent.toLowerCase());\r\n }\r\n\r\n diffHtml(html) {\r\n\r\n var tags = ['html', 'head', 'meta', 'title', 'base', 'link', 'script', 'body', 'div', 'span'];\r\n\r\n var s = '';\r\n if (html) {\r\n s = html;\r\n _.each(tags, (tag) => {\r\n s = s.replace(new RegExp(`<(${tag})`, \"gi\"), `<$1`);\r\n });\r\n }\r\n\r\n return s;\r\n }\r\n\r\n encodeHtml(str) {\r\n var s = \"\";\r\n if (str.length == 0) return \"\";\r\n s = str.replace(/&/g, \">\");\r\n s = s.replace(//g, \">\");\r\n s = s.replace(/ /g, \" \");\r\n s = s.replace(/\\'/g, \"'\");\r\n s = s.replace(/\\\"/g, \""\");\r\n s = s.replace(/\\n/g, \"
${text}
`;\r\n };\r\n\r\n renderer.code = function(code, lang, escaped) {\r\n let codeBk = code;\r\n if (this.options.highlight) {\r\n var out = this.options.highlight(code, lang);\r\n if (out != null && out !== code) {\r\n escaped = true;\r\n code = out;\r\n }\r\n }\r\n\r\n if (!lang) {\r\n return `${escaped ? code : utils.escape(code, true)}\\n
${escaped ? code : utils.escape(code, true)}\\n
默认确认对话框内容.
',\r\n });\r\n return this;\r\n }\r\n\r\n context(aurelia) {\r\n this.aurelia = aurelia;\r\n return this;\r\n }\r\n\r\n}\r\n\r\nexport default new Config();\r\n","/**\r\n * 程序初次加载启动,进行一些初始化操作:\r\n */\r\nimport 'jquery';\r\nimport 'jquery.scrollto'; // https://github.com/flesler/jquery.scrollTo\r\nimport 'timeago';\r\nimport 'lodash';\r\nimport 'hotkeys';\r\n\r\nimport config from './config';\r\n\r\nexport function configure(aurelia, params) {\r\n\r\n config.context(aurelia)\r\n .initGlobalVar()\r\n .initAjax()\r\n .initToastr()\r\n .initMarked()\r\n .initAnimateCss()\r\n .initEmoji()\r\n .initModaal();\r\n}\r\n","import {\r\n bindable\r\n}\r\nfrom 'aurelia-framework';\r\nimport {\r\n EventAggregator\r\n}\r\nfrom 'aurelia-event-aggregator';\r\n\r\n/**\r\n * description\r\n */\r\nexport class TestLifeCycle {\r\n\r\n @\r\n bindable\r\n prop = null;\r\n\r\n static inject = [EventAggregator];\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor(eventAggregator) {\r\n this.eventAggregator = eventAggregator;\r\n\r\n console.log('constructor');\r\n\r\n // this.subscribe1 = this.eventAggregator.subscribe('', (payload) => {\r\n\r\n // });\r\n\r\n }\r\n\r\n /**\r\n * 在视图和视图模型都被创建后调用, 允许访问视图实例对象.\r\n * @param {[object]} view 视图实例对象\r\n */\r\n created(view) {\r\n console.log('created');\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎绑定到视图时被调用\r\n * @param {[object]} ctx 视图绑定上下文环境对象\r\n */\r\n bind(ctx) {\r\n console.log('bind');\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n console.log('unbind');\r\n // this.subscribe1.dispose();\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n console.log('attached');\r\n }\r\n\r\n /**\r\n * 当视图从DOM中分离时被调用\r\n */\r\n detached() {\r\n console.log('detached');\r\n }\r\n\r\n /**\r\n * 控制是否可以导航到当前路由视图模型(ViewModel)\r\n * @param {[object]} params 参数\r\n * @param {[object]} routeConfig 路由配置\r\n * @param {[object]} navigationInstruction 导航指令\r\n * @return {[boolean | promise]} 返回一个boolean类型, 一个boolean类型延迟许诺(promise)或者一个导航(navigation)命令.\r\n */\r\n canActivate(params, routeConfig, navigationInstruction) {\r\n console.log('canActivate');\r\n }\r\n\r\n /**\r\n * 在视图模型(ViewModel)展示前执行一些自定义代码逻辑\r\n * @param {[object]} params 参数\r\n * @param {[object]} routeConfig 路由配置\r\n * @param {[object]} navigationInstruction 导航指令\r\n * @return {[promise]} 你可以可选的返回一个延迟许诺(promise), 告诉路由等待执行bind和attach视图(view), 直到你完成你的处理工作.\r\n */\r\n activate(params, routeConfig, navigationInstruction) {\r\n console.log('activate');\r\n }\r\n\r\n /**\r\n * 控制是否可以导航离开当前路由视图模型(ViewModel)到其它路由视图模型(ViewModel)\r\n * @return {[boolean | promise]} 返回一个boolean类型, 一个boolean类型延迟许诺(promise)或者一个导航(navigation)命令.\r\n */\r\n canDeactivate() {\r\n console.log('canDeactivate');\r\n }\r\n\r\n /**\r\n * 在当前视图模型(ViewModel)切换离开后执行一些自定义代码逻辑\r\n * @return {[promise]} 你可以可选的返回一个延迟许诺(promise), 告诉路由等待, 直到你完成你的处理工作.\r\n */\r\n deactivate() {\r\n console.log('deactivate');\r\n }\r\n}\r\n","/* \r\n代码生成常用命令:\r\nau generate element\r\nau generate attribute\r\nau generate value-converter\r\nau generate binding-behavior\r\nau generate task\r\nau generate generator\r\n*/\r\n/* 加载全局资源 */\r\nexport function configure(aurelia) {\r\n\r\n aurelia.globalResources([\r\n 'resources/value-converters/vc-common',\r\n 'resources/binding-behaviors/bb-key',\r\n 'resources/attributes/attr-task',\r\n 'resources/attributes/attr-swipebox',\r\n 'resources/attributes/attr-pastable',\r\n 'resources/attributes/attr-autosize',\r\n 'resources/attributes/attr-dropzone',\r\n 'resources/attributes/attr-attr',\r\n 'resources/attributes/attr-c2c',\r\n 'resources/attributes/attr-dimmer',\r\n 'resources/attributes/attr-ui-dropdown',\r\n 'resources/attributes/attr-ui-dropdown-action',\r\n 'resources/attributes/attr-ui-dropdown-hover',\r\n 'resources/attributes/attr-ui-tab',\r\n 'resources/attributes/attr-ui-popup',\r\n 'resources/attributes/attr-ui-checkbox',\r\n 'resources/attributes/attr-tablesort',\r\n 'resources/attributes/attr-textcomplete',\r\n 'resources/attributes/attr-scrollbar',\r\n 'resources/attributes/attr-modaal',\r\n 'resources/elements/em-modal',\r\n 'resources/elements/em-dropdown',\r\n 'resources/elements/em-checkbox',\r\n 'resources/elements/em-confirm-modal',\r\n 'resources/elements/em-hotkeys-modal',\r\n 'resources/elements/em-chat-input',\r\n 'resources/elements/em-chat-top-menu',\r\n 'resources/elements/em-chat-sidebar-left',\r\n 'resources/elements/em-chat-content-item',\r\n 'resources/elements/em-chat-sidebar-right',\r\n 'resources/elements/em-chat-channel-create',\r\n 'resources/elements/em-chat-channel-join',\r\n 'resources/elements/em-chat-channel-edit',\r\n 'resources/elements/em-chat-channel-members-mgr',\r\n 'resources/elements/em-chat-channel-members-show',\r\n 'resources/elements/em-chat-channel-link-mgr',\r\n 'resources/elements/em-chat-system-link-mgr',\r\n 'resources/elements/em-chat-msg-popup',\r\n 'resources/elements/em-chat-member-popup',\r\n 'resources/elements/em-chat-attach',\r\n 'resources/elements/em-chat-schedule',\r\n 'resources/elements/em-chat-schedule-edit',\r\n 'resources/elements/em-chat-schedule-remind',\r\n 'resources/elements/em-chat-share',\r\n 'resources/elements/em-blog-write',\r\n 'resources/elements/em-blog-left-sidebar',\r\n 'resources/elements/em-blog-right-sidebar',\r\n 'resources/elements/em-blog-content',\r\n 'resources/elements/em-blog-top-menu',\r\n 'resources/elements/em-blog-share',\r\n 'resources/elements/em-blog-comment',\r\n 'resources/elements/em-blog-save',\r\n 'resources/elements/em-blog-space-create',\r\n 'resources/elements/em-blog-space-edit',\r\n 'resources/elements/em-blog-space-update',\r\n 'resources/elements/em-blog-history',\r\n 'resources/elements/em-blog-history-view',\r\n 'resources/elements/em-blog-history-diff',\r\n 'resources/elements/em-blog-comment-popup',\r\n 'resources/elements/em-blog-space-auth',\r\n 'resources/elements/em-user-avatar',\r\n 'resources/elements/em-user-edit',\r\n 'resources/elements/em-blog-comment-share',\r\n ]);\r\n}\r\n","export class UserLogin {\r\n\r\n username = '';\r\n password = '';\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n $(this.rememberMeRef).checkbox();\r\n }\r\n\r\n kdHandler(evt) {\r\n if (evt.keyCode === 13) {\r\n this.loginHandler();\r\n }\r\n\r\n return true;\r\n }\r\n\r\n loginHandler() {\r\n\r\n // $.get('/admin/login', (data) => {\r\n\r\n let rm = $(this.rememberMeRef).checkbox('is checked') ? 'on' : '';\r\n\r\n $.post('/admin/signin', {\r\n username: this.username,\r\n password: this.password,\r\n \"remember-me\": rm\r\n }).done(() => {\r\n\r\n localStorage && localStorage.setItem(nsCons.KEY_LOGIN_USERNAME, this.username);\r\n\r\n let redirect = utils.urlQuery('redirect');\r\n if (redirect) {\r\n window.location = decodeURIComponent(redirect);\r\n } else {\r\n let chatTo = null;\r\n if (localStorage) {\r\n chatTo = localStorage.getItem(nsCons.KEY_REMEMBER_LAST_CHAT_TO);\r\n }\r\n if (chatTo) {\r\n window.location = wurl('path') + `#/chat/${chatTo}`;\r\n } else {\r\n window.location = wurl('path') + `#/chat/@${this.username}`;\r\n }\r\n }\r\n\r\n }).fail((xhr, sts, err) => {\r\n if (xhr.status == 401) {\r\n toastr.error('用户名密码不正确!');\r\n } else if (xhr.status != 0) {\r\n toastr.error('网络连接错误!');\r\n }\r\n });\r\n // });\r\n\r\n return true;\r\n\r\n }\r\n}\r\n","/**\r\n * 用户密码重置\r\n */\r\nexport class UserPwdReset {\r\n\r\n mail = '';\r\n pwd = '';\r\n\r\n isReq = false;\r\n\r\n token = utils.urlQuery('id');\r\n\r\n resetPwdHandler() {\r\n\r\n if (!$(this.fm).form('is valid')) {\r\n toastr.error('邮件地址输入不合法!');\r\n return;\r\n }\r\n\r\n this.isReq = true;\r\n http.fetch('/free/user/pwd/reset', {\r\n method: 'post',\r\n body: json({\r\n mail: this.mail,\r\n baseUrl: utils.getBaseUrl(),\r\n path: wurl('path')\r\n })\r\n }).then((resp) => {\r\n if (resp.ok) {\r\n resp.json().then((data) => {\r\n if (data.success) {\r\n toastr.success('重置密码邮件链接发送成功!');\r\n _.delay(() => {\r\n window.location = \"/admin/login\";\r\n }, 2000);\r\n } else {\r\n toastr.error(data.data, '重置密码邮件链接发送失败!');\r\n this.isReq = false;\r\n }\r\n });\r\n }\r\n\r\n });\r\n }\r\n\r\n newPwdHandler() {\r\n\r\n if (!$(this.fm2).form('is valid')) {\r\n toastr.error('新密码输入不合法!');\r\n return;\r\n }\r\n\r\n this.isReq = true;\r\n http.fetch('/free/user/pwd/new', {\r\n method: 'post',\r\n body: json({\r\n token: this.token,\r\n pwd: this.pwd\r\n })\r\n }).then((resp) => {\r\n if (resp.ok) {\r\n resp.json().then((data) => {\r\n if (data.success) {\r\n toastr.success('重置密码成功!');\r\n _.delay(() => {\r\n window.location = \"/admin/login\";\r\n }, 2000);\r\n } else {\r\n toastr.error(data.data, '重置密码失败!');\r\n this.isReq = false;\r\n }\r\n });\r\n }\r\n \r\n });\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n\r\n $(this.fm).form({\r\n on: 'blur',\r\n inline: true,\r\n fields: {\r\n mail: ['empty', 'email']\r\n }\r\n });\r\n\r\n $(this.fm2).form({\r\n on: 'blur',\r\n inline: true,\r\n fields: {\r\n mail: ['empty', 'minLength[8]']\r\n }\r\n });\r\n }\r\n\r\n}\r\n","/**\r\n * 账户注册\r\n */\r\nexport class ViewModel {\r\n\r\n header = '账户激活页面';\r\n\r\n /**\r\n * 在视图模型(ViewModel)展示前执行一些自定义代码逻辑\r\n * @param {[object]} params 参数\r\n * @param {[object]} routeConfig 路由配置\r\n * @param {[object]} navigationInstruction 导航指令\r\n * @return {[promise]} 你可以可选的返回一个延迟许诺(promise), 告诉路由等待执行bind和attach视图(view), 直到你完成你的处理工作.\r\n */\r\n activate(params, routeConfig, navigationInstruction) {\r\n\r\n if (params.id) {\r\n this.token = params.id;\r\n\r\n this.isReq = true;\r\n this.header = '账户激活中,请稍后...!';\r\n http.fetch('/free/user/register/activate', {\r\n method: 'post',\r\n body: json({\r\n token: this.token\r\n })\r\n }).then((resp) => {\r\n if (resp.ok) {\r\n resp.json().then((data) => {\r\n if (data.success) {\r\n this.header = '账户激活成功,请返回登录页面登录!';\r\n } else {\r\n this.header = '账户激活失败!';\r\n toastr.error(data.data, '账户激活失败!');\r\n }\r\n });\r\n this.isReq = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n\r\n $(this.fm).form({\r\n on: 'blur',\r\n inline: true,\r\n fields: {\r\n username: {\r\n identifier: 'username',\r\n rules: [{\r\n type: 'empty'\r\n }, {\r\n type: 'minLength[3]'\r\n }, {\r\n type: 'regExp',\r\n value: /^[a-z]+[a-z0-9\\.\\-_]*[a-z0-9]+$/,\r\n prompt: '小写字母数字.-_组合,字母开头,字母数字结尾'\r\n }]\r\n },\r\n pwd: {\r\n identifier: 'pwd',\r\n rules: [{\r\n type: 'empty'\r\n }, {\r\n type: 'minLength[8]'\r\n }]\r\n },\r\n name: {\r\n identifier: 'name',\r\n rules: [{\r\n type: 'empty'\r\n }, {\r\n type: 'maxLength[20]'\r\n }]\r\n },\r\n mail: {\r\n identifier: 'mail',\r\n rules: [{\r\n type: 'empty'\r\n }, {\r\n type: 'email'\r\n }]\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n okHandler() {\r\n\r\n if (!$(this.fm).form('is valid')) {\r\n toastr.error('账户注册信息输入不合法!');\r\n return;\r\n }\r\n\r\n this.isReq = true;\r\n http.fetch('/free/user/register', {\r\n method: 'post',\r\n body: json({\r\n username: this.username,\r\n pwd: this.pwd,\r\n name: this.name,\r\n mail: this.mail,\r\n baseUrl: utils.getBaseUrl(),\r\n path: wurl('path')\r\n })\r\n }).then((resp) => {\r\n if (resp.ok) {\r\n resp.json().then((data) => {\r\n if (data.success) {\r\n toastr.success('注册成功,请通过接收到的激活邮件激活账户!');\r\n _.delay(() => {\r\n window.location = \"/admin/login\";\r\n }, 2000);\r\n } else {\r\n toastr.error(data.data, '注册失败!');\r\n this.isReq = false;\r\n }\r\n });\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n}\r\n","import { customAttribute, bindable } from 'aurelia-framework';\r\nimport { inject } from 'aurelia-dependency-injection';\r\n\r\n@customAttribute('attr')\r\n@inject(Element)\r\nexport class AttrAttr {\r\n\r\n @bindable name;\r\n @bindable value;\r\n\r\n constructor(element) {\r\n\r\n this.element = element;\r\n }\r\n\r\n nameChanged(value) {}\r\n\r\n valueChanged(value) {\r\n\r\n this.value = value;\r\n\r\n if (value) {\r\n $(this.element).attr(this.name, value);\r\n } else {\r\n $(this.element).removeAttr(this.name);\r\n }\r\n }\r\n\r\n bind(bindingContext) {\r\n this.valueChanged(this.value);\r\n }\r\n\r\n unbind() {}\r\n}\r\n","import { inject } from 'aurelia-framework';\r\nimport { customAttribute } from 'aurelia-templating';\r\n\r\n@customAttribute('autosize')\r\n@inject(Element)\r\nexport class AttrAutosize {\r\n\r\n constructor(element) {\r\n this.element = element;\r\n }\r\n\r\n valueChanged(newValue, oldValue) {\r\n autosize(this.element);\r\n }\r\n\r\n bind(bindingContext) {\r\n this.valueChanged(this.value);\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n autosize.destroy(this.elements)\r\n }\r\n}\r\n","import { customAttribute, inject } from 'aurelia-framework';\r\nimport Clipboard from 'clipboard';\r\n\r\n@customAttribute('c2c')\r\n@inject(Element)\r\nexport class AttrC2cCustomAttribute {\r\n\r\n constructor(element) {\r\n this.element = element;\r\n this._init();\r\n }\r\n\r\n _init() {\r\n\r\n $(this.element).append(``);\r\n this.clipboard = new Clipboard($(this.element).find('i.copy.icon')[0], {\r\n text: (trigger) => {\r\n return this.value ? this.value : $(this.element).text();\r\n }\r\n });\r\n let $tp = $(this.element).find('[data-tooltip]').hover(function() {}, function() {\r\n $(this).attr('data-tooltip', '复制到剪贴板!');\r\n });\r\n this.clipboard.on('success', (e) => {\r\n $tp.attr('data-tooltip', '复制成功!');\r\n }).on('error', (e) => {\r\n $tp.attr('data-tooltip', '复制失败!');\r\n });\r\n\r\n $(this.element).hover(() => {\r\n if (this.value || $(this.element).text()) {\r\n $tp.show();\r\n }\r\n }, () => {\r\n $tp.hide();\r\n });\r\n }\r\n\r\n unbind() {\r\n this.clipboard && this.clipboard.destroy();\r\n }\r\n}\r\n","import { inject } from 'aurelia-dependency-injection';\r\nimport { customAttribute } from 'aurelia-templating';\r\n\r\n@customAttribute('dimmer')\r\n@inject(Element)\r\nexport class AttrDimmer {\r\n\r\n constructor(element) {\r\n\r\n this.element = element;\r\n this.$dimmer = $('${name | upper}
\r\n */\r\nexport class UpperValueConverter {\r\n toView(value) {\r\n return value && value.toUpperCase();\r\n }\r\n}\r\n\r\n/**\r\n * 转换为小写形式\r\n * eg:${name | lower}
\r\n */\r\nexport class LowerValueConverter {\r\n toView(value) {\r\n return value && value.toLowerCase();\r\n }\r\n}\r\n\r\n/**\r\n * 时间格式化值转换器, using as: 4234234234 | dateFormat\r\n * doc: https://www.npmjs.com/package/jquery-format\r\n */\r\nexport class DateValueConverter {\r\n toView(value, format = 'yyyy-MM-dd hh:mm:ss') {\r\n return _.isInteger(_.toNumber(value)) ? $.format.date(new Date(value), format) : (value ? value : '');\r\n }\r\n}\r\n\r\n/**\r\n * 数值格式化值转换器, using as: 4234234234 | numberFormat\r\n * doc: https://www.npmjs.com/package/jquery-format\r\n */\r\nexport class NumberValueConverter {\r\n toView(value, format = '#,##0.00') {\r\n return _.isNumber(_.toNumber(value)) ? $.format.number(value, format) : (value ? value : '');\r\n }\r\n}\r\n\r\n/**\r\n * 日期timeago值转换器\r\n * doc: \r\n * https://www.npmjs.com/package/better-timeago\r\n * https://www.npmjs.com/package/better-timeago-locale-zh-cn\r\n */\r\nexport class TimeagoValueConverter {\r\n toView(value) {\r\n return value ? tg.format(value, 'zh_CN') : '';\r\n }\r\n}\r\n\r\n/**\r\n * markdown内容解析处理\r\n */\r\nexport class ParseMdValueConverter {\r\n toView(value) {\r\n return value ? marked(utils.preParse(value)) : '';\r\n }\r\n}\r\n\r\nexport class SortValueConverter {\r\n toView(value, prop) {\r\n return _.isArray(value) ? _.sortBy(value, prop) : value;\r\n }\r\n}\r\n\r\nexport class SortUsersValueConverter {\r\n toView(value, username) {\r\n if (_.isArray(value) && username) {\r\n let user = _.find(value, { username: username });\r\n if (user) {\r\n return [user, ..._.reject(value, { username: username })];\r\n }\r\n }\r\n return value;\r\n }\r\n}\r\n\r\nexport class SortUsernamesValueConverter {\r\n toView(value, username) {\r\n if (_.isArray(value) && username) {\r\n if (_.includes(value, username)) {\r\n return [username, ..._.without(value, username)];\r\n }\r\n }\r\n return value;\r\n }\r\n}\r\n\r\nexport class SortChannelsValueConverter {\r\n toView(value) {\r\n if (_.isArray(value)) {\r\n let channelAll = _.find(value, { name: 'all' });\r\n if (channelAll) {\r\n return [channelAll, ..._.reject(value, { name: 'all' })]\r\n }\r\n }\r\n return value;\r\n }\r\n}\r\n\r\nexport class UserNameValueConverter {\r\n toView(value) {\r\n let user = _.find(window.tmsUsers, { username: value });\r\n if (user) {\r\n return user.name;\r\n }\r\n return value;\r\n }\r\n}\r\n\r\nexport class EmojiValueConverter {\r\n toView(value, mkbodyDom) {\r\n if (emojify) {\r\n _.defer(() => {\r\n emojify.run(mkbodyDom);\r\n });\r\n }\r\n return value;\r\n }\r\n}\r\n\r\nexport class Nl2brValueConverter {\r\n toView(value) {\r\n if (value) {\r\n return _.replace(value, /\\n/g, '详情内容
\\n详情内容
\\n${item.title}
吗?`,\n onapprove: () => {\n $.post('/admin/channel/join', {\n id: item.id\n }, (data) => {\n if (data.success) {\n toastr.success('加入频道成功!');\n item.joined = true;\n ea.publish(nsCons.EVENT_CHAT_CHANNEL_JOINED, { channel: data.data });\n } else {\n toastr.error(data.data, '加入频道失败!');\n }\n });\n }\n });\n }\n\n leaveHandler(item) {\n this.confirmMd.show({\n content: `确定要离开频道${item.title}
吗?`,\n onapprove: () => {\n $.post('/admin/channel/leave', {\n id: item.id\n }, (data) => {\n if (data.success) {\n toastr.success('离开频道成功!');\n item.joined = false;\n ea.publish(nsCons.EVENT_CHAT_CHANNEL_LEAVED, { channel: data.data });\n } else {\n toastr.error(data.data, '离开频道失败!');\n }\n });\n }\n });\n }\n}\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatChannelLinkMgr {\r\n\r\n @bindable channel;\r\n\r\n @bindable loginUser;\r\n\r\n links = [];\r\n\r\n channelChanged(news, old) {\r\n if (this.channel) {\r\n $.get('/admin/link/listBy', {\r\n channelId: this.channel.id\r\n }, (data) => {\r\n if (data.success) {\r\n this.links = data.data;\r\n } else {\r\n this.links = [];\r\n }\r\n });\r\n }\r\n }\r\n\r\n addHandler() {\r\n $.post('/admin/link/create', {\r\n title: this.title,\r\n href: this.href,\r\n channelId: this.channel.id\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this.title = '';\r\n this.href = '';\r\n this.links.push(data.data);\r\n ea.publish(nsCons.EVENT_CHANNEL_LINKS_REFRESH, {});\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n delHandler(item) {\r\n $.post('/admin/link/delete', {\r\n id: item.id\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this.links = _.reject(this.links, { id: item.id });\r\n ea.publish(nsCons.EVENT_CHANNEL_LINKS_REFRESH, {});\r\n toastr.success('删除成功!');\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n editHandler(item) {\r\n item.oldTitle = item.title;\r\n item.oldHref = item.href;\r\n item.isEditing = true;\r\n }\r\n\r\n updateHandler(item) {\r\n $.post('/admin/link/update', {\r\n id: item.id,\r\n title: item.title,\r\n href: item.href,\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n item.isEditing = false;\r\n ea.publish(nsCons.EVENT_CHANNEL_LINKS_REFRESH, {});\r\n toastr.success('更新成功!');\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n showHandler() {\r\n this._reset();\r\n }\r\n\r\n _reset() {}\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {}\r\n\r\n show() {\r\n this.emModal.show({ autoDimmer: false });\r\n }\r\n\r\n approveHandler(modal) {\r\n\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatChannelMembersMgr {\r\n\r\n @bindable channel;\r\n @bindable users;\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.membersOpts = {\r\n onAdd: (addedValue, addedText, $addedChoice) => {\r\n this.emModal.showDimmer();\r\n $.post('/admin/channel/addMember', {\r\n id: this.channel.id,\r\n members: addedValue,\r\n baseUrl: utils.getBaseUrl(),\r\n path: wurl('path'),\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('添加成员成功!');\r\n this.channel.members = data.data.members;\r\n ea.publish(nsCons.EVENT_CHAT_CHANNEL_MEMBER_ADD_OR_REMOVE, {\r\n type: 'add',\r\n members: data.data.members\r\n });\r\n } else {\r\n toastr.error(data.data, '添加成员失败!');\r\n }\r\n }).always(() => {\r\n this.emModal.hideDimmer();\r\n });\r\n },\r\n onLabelRemove: (removedValue) => {\r\n if (this.channel.owner.username == removedValue) {\r\n return false;\r\n }\r\n\r\n this.emModal.showDimmer();\r\n $.post('/admin/channel/removeMember', {\r\n id: this.channel.id,\r\n members: removedValue,\r\n baseUrl: utils.getBaseUrl(),\r\n path: wurl('path'),\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('移除成员成功!');\r\n this.channel.members = data.data.members;\r\n ea.publish(nsCons.EVENT_CHAT_CHANNEL_MEMBER_ADD_OR_REMOVE, {\r\n type: 'remove',\r\n members: data.data.members\r\n });\r\n } else {\r\n toastr.error(data.data, '移除成员失败!');\r\n }\r\n }).always(() => {\r\n this.emModal.hideDimmer();\r\n });\r\n }\r\n };\r\n }\r\n\r\n channelChanged() {\r\n if (this.channel) {\r\n let usernames = _.sortBy(_.map(this.channel.members, 'username'));\r\n // usernames = [this.channel.owner.username, ..._.without(usernames, this.channel.owner.username)];\r\n _.defer(() => {\r\n $(this.membersRef).dropdown().dropdown('clear').dropdown('set selected', usernames).dropdown(this.membersOpts);\r\n });\r\n\r\n }\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n\r\n }\r\n\r\n initMembersUI(last) {\r\n\r\n if (last) {\r\n _.defer(() => {\r\n this.channelChanged();\r\n });\r\n }\r\n }\r\n\r\n showHandler() {\r\n $(this.membersRef).dropdown().dropdown('clear');\r\n this.channelChanged();\r\n }\r\n\r\n approveHandler(modal) {\r\n\r\n }\r\n\r\n show() {\r\n this.emModal.show({\r\n hideOnApprove: true,\r\n autoDimmer: false\r\n });\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatChannelMembersShow {\r\n\r\n @bindable channel;\r\n\r\n showHandler() {\r\n\r\n }\r\n\r\n approveHandler(modal) {\r\n\r\n }\r\n\r\n show() {\r\n this.emModal.show({\r\n hideOnApprove: true,\r\n autoDimmer: false\r\n });\r\n }\r\n}\r\n","import { bindable, containerless, bindingMode } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatContentItem {\r\n\r\n @bindable({ defaultBindingMode: bindingMode.twoWay }) chats;\r\n @bindable loginUser;\r\n @bindable isAt;\r\n @bindable channel;\r\n @bindable markId;\r\n @bindable chatTo;\r\n members = [];\r\n basePath = utils.getBasePath();\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.subscribe = ea.subscribe(nsCons.EVENT_CHAT_CHANNEL_MEMBER_ADD_OR_REMOVE, (payload) => {\r\n this.members = [nsCtx.memberAll, ...payload.members];\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n $('.tms-chat-direct').on('click', '.markdown-body .at-user', (event) => {\r\n event.preventDefault();\r\n ea.publish(nsCons.EVENT_CHAT_MSG_INSERT, {\r\n content: `{~${$(event.currentTarget).attr('data-value')}} `\r\n });\r\n });\r\n\r\n // 消息popup\r\n $('.tms-chat-direct').on('mouseenter', '.markdown-body a[href*=\"#/chat/\"]:not(.pp-not)', (event) => {\r\n event.preventDefault();\r\n var $a = $(event.currentTarget);\r\n ea.publish(nsCons.EVENT_CHAT_MSG_POPUP_SHOW, {\r\n id: utils.urlQuery('id', $a.attr('href')),\r\n target: event.currentTarget\r\n });\r\n });\r\n\r\n // wiki dir\r\n $('.tms-chat-direct').on('mouseenter', '.tms-content-body .em-chat-content-item', (event) => {\r\n event.preventDefault();\r\n var $c = $(event.currentTarget);\r\n\r\n ea.publish(nsCons.EVENT_CHAT_MSG_WIKI_DIR, {\r\n dir: utils.dir($c.find('> .content > .markdown-body'))\r\n });\r\n });\r\n\r\n $('.tms-chat-direct').on('click', '.panel-wiki-dir .wiki-dir-item', (event) => {\r\n event.preventDefault();\r\n ea.publish(nsCons.EVENT_CHAT_CONTENT_SCROLL_TO, { target: $('#' + $(event.currentTarget).attr('data-id')) });\r\n });\r\n\r\n // 用户信息popup\r\n $('.tms-chat-direct').on('mouseenter', 'span[data-value].at-user:not(.pp-not),a[data-value].author:not(.pp-not)', (event) => {\r\n event.preventDefault();\r\n var $a = $(event.currentTarget);\r\n ea.publish(nsCons.EVENT_CHAT_MEMBER_POPUP_SHOW, {\r\n channel: this.channel,\r\n username: $a.attr('data-value'),\r\n target: event.currentTarget\r\n });\r\n });\r\n\r\n this.initHotkeys();\r\n }\r\n\r\n channelChanged() {\r\n\r\n if (this.channel) {\r\n this.members = [nsCtx.memberAll, ...this.channel.members];\r\n } else {\r\n this.members = [];\r\n }\r\n }\r\n\r\n deleteHandler(item) {\r\n\r\n this.emConfirmModal.show({\r\n onapprove: () => {\r\n\r\n let url;\r\n\r\n if (this.isAt) {\r\n url = `/admin/chat/direct/delete`;\r\n } else {\r\n url = `/admin/chat/channel/delete`;\r\n }\r\n\r\n $.post(url, {\r\n id: item.id\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this.chats = _.reject(this.chats, {\r\n id: item.id\r\n });\r\n toastr.success('删除消息成功!');\r\n } else {\r\n toastr.error(data.data, '删除消息失败!');\r\n }\r\n });\r\n }\r\n });\r\n\r\n }\r\n\r\n initHotkeys() {\r\n $(document).bind('keydown', 'e', (evt) => {\r\n evt.preventDefault();\r\n let chat = _.findLast(this.chats, c => c.creator.username == this.loginUser.username);\r\n if (chat) {\r\n this.editHandler(chat, $(`.em-chat-content-item[data-id=\"${chat.id}\"]`).find('> .content > textarea'));\r\n }\r\n });\r\n }\r\n\r\n editHandler(item, editTxtRef) {\r\n\r\n $.get(`/admin/chat/${this.isAt ? 'direct' : 'channel'}/get`, {\r\n id: item.id\r\n }, (data) => {\r\n if (data.success) {\r\n if (item.version != data.data.version) {\r\n _.extend(item, data.data);\r\n }\r\n item.isEditing = true;\r\n item.contentOld = item.content;\r\n _.defer(() => {\r\n $(editTxtRef).focus().select();\r\n autosize.update(editTxtRef);\r\n });\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n\r\n });\r\n }\r\n\r\n editOkHandler(evt, item, txtRef) {\r\n this.editSave(item, txtRef);\r\n item.isEditing = false;\r\n }\r\n\r\n editCancelHandler(evt, item, txtRef) {\r\n item.content = item.contentOld;\r\n $(txtRef).val(item.content);\r\n item.isEditing = false;\r\n }\r\n\r\n editSave(item, txtRef) {\r\n\r\n this.sending = true;\r\n\r\n item.content = $(txtRef).val();\r\n\r\n var html = utils.md2html(item.content);\r\n var htmlOld = utils.md2html(item.contentOld);\r\n\r\n let url;\r\n let data;\r\n\r\n if (this.isAt) {\r\n url = `/admin/chat/direct/update`;\r\n data = {\r\n baseUrl: utils.getBaseUrl(),\r\n path: wurl('path'),\r\n id: item.id,\r\n content: item.content,\r\n diff: utils.diffS(item.contentOld, item.content),\r\n // contentHtml: html,\r\n // contentHtmlOld: htmlOld\r\n };\r\n } else {\r\n url = `/admin/chat/channel/update`;\r\n data = {\r\n url: utils.getUrl(),\r\n id: item.id,\r\n version: item.version,\r\n usernames: utils.parseUsernames(item.content, this.members).join(','),\r\n content: item.content,\r\n diff: utils.diffS(item.contentOld, item.content),\r\n // contentHtml: html,\r\n // contentHtmlOld: htmlOld\r\n };\r\n }\r\n\r\n $.post(url, data, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('更新消息成功!');\r\n item.isEditing = false;\r\n item.version = data.data.version;\r\n } else {\r\n toastr.error(data.data, '更新消息失败!');\r\n }\r\n }).always(() => {\r\n this.sending = false;\r\n });\r\n }\r\n\r\n eidtKeydownHandler(evt, item, txtRef) {\r\n\r\n if (this.sending) {\r\n return false;\r\n }\r\n\r\n if (evt.ctrlKey && evt.keyCode === 13) {\r\n\r\n this.editSave(item, txtRef);\r\n\r\n return false;\r\n } else if (evt.ctrlKey && evt.keyCode === 85) {\r\n $(txtRef).next('.tms-edit-actions').find('.upload').click();\r\n return false;\r\n } else if (evt.keyCode === 27) {\r\n this.editCancelHandler(evt, item, txtRef);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n notifyRendered(last, item) {\r\n if (last) {\r\n _.defer(() => {\r\n ea.publish(nsCons.EVENT_CHAT_LAST_ITEM_RENDERED, {\r\n item: item\r\n });\r\n });\r\n }\r\n }\r\n\r\n stowHandler(item) {\r\n $.post('/admin/chat/channel/stow', {\r\n id: item.id\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('收藏消息成功!');\r\n } else {\r\n toastr.error(data.data, '收藏消息失败!');\r\n }\r\n });\r\n }\r\n\r\n openEditHandler(item) {\r\n $.post('/admin/chat/channel/openEdit', {\r\n id: item.id,\r\n open: !item.openEdit\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n item.openEdit = !item.openEdit;\r\n toastr.success(`${item.openEdit ? '开启' : '关闭'}协作编辑成功!`);\r\n } else {\r\n toastr.success(`${!item.openEdit ? '开启' : '关闭'}协作编辑失败!`);\r\n }\r\n });\r\n }\r\n\r\n replyHandler(item) {\r\n ea.publish(nsCons.EVENT_CHAT_MSG_INSERT, {\r\n content: `[[回复#${item.id}](${utils.getUrl()}?id=${item.id}){~${item.creator.username}}]\\n\\n`\r\n });\r\n\r\n // 标记@自己的该消息为已读\r\n $.post('/admin/chat/channel/markAsReadedByChat', {\r\n chatId: item.id\r\n });\r\n }\r\n\r\n creatorNameHandler(item) {\r\n ea.publish(nsCons.EVENT_CHAT_MSG_INSERT, {\r\n content: `{~${item.creator.username}} `\r\n });\r\n }\r\n\r\n refreshHandler(item) {\r\n $.get('/admin/chat/channel/get', {\r\n id: item.id\r\n }, (data) => {\r\n if (item.version != data.data.version) {\r\n _.extend(item, data.data);\r\n toastr.success('刷新同步成功!');\r\n } else {\r\n toastr.info('消息内容暂无变更!');\r\n }\r\n });\r\n }\r\n\r\n likeHandler(item, isLike) {\r\n\r\n if ((isLike && item.isZanVoted) || (!isLike && item.isCaiVoted)) {\r\n return;\r\n }\r\n\r\n $.post('/admin/chat/channel/vote', {\r\n id: item.id,\r\n url: utils.getUrl(),\r\n contentHtml: utils.md2html(item.content),\r\n type: isLike ? 'Zan' : 'Cai'\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n _.extend(item, data.data);\r\n if (isLike) {\r\n item.isZanVoted = true;\r\n } else {\r\n item.isCaiVoted = true;\r\n }\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n}\r\n","import { bindable, containerless, inject } from 'aurelia-framework';\r\nimport 'textcomplete';\r\nimport tips from 'common/common-tips';\r\nimport emojis from 'common/common-emoji';\r\nimport {\r\n default as SimpleMDE\r\n} from 'simplemde';\r\n\r\n@containerless\r\nexport class EmChatInput {\r\n\r\n @bindable chatTo;\r\n @bindable isAt;\r\n @bindable channel;\r\n members = [];\r\n isMobile = utils.isMobile();\r\n\r\n channelChanged() {\r\n\r\n if (this.channel) {\r\n this.members = [nsCtx.memberAll, ...this.channel.members];\r\n } else {\r\n this.members = [];\r\n }\r\n\r\n }\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.subscribe = ea.subscribe(nsCons.EVENT_SHOW_HOTKEYS_MODAL, (payload) => {\r\n this.emHotkeysModal.show();\r\n });\r\n this.subscribe1 = ea.subscribe(nsCons.EVENT_CHAT_CHANNEL_MEMBER_ADD_OR_REMOVE, (payload) => {\r\n this.members = [nsCtx.memberAll, ...payload.members];\r\n });\r\n this.subscribe2 = ea.subscribe(nsCons.EVENT_CHAT_MSG_INSERT, (payload) => {\r\n this.insertContent(payload.content);\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n this.subscribe1.dispose();\r\n this.subscribe2.dispose();\r\n }\r\n\r\n initHotkeys() {\r\n $(document).bind('keydown', 'r', () => { // reply message\r\n event.preventDefault();\r\n this.simplemde.codemirror.focus();\r\n });\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n this.initSimpleMDE(this.chatInputRef);\r\n this.initDropzone();\r\n this.initPaste();\r\n this.initHotkeys();\r\n }\r\n\r\n initPaste() {\r\n\r\n let $paste;\r\n if (this.$chatMsgInputRef.is('textarea')) {\r\n $paste = $(this.$chatMsgInputRef).pastableTextarea();\r\n } else {\r\n $paste = $(this.$chatMsgInputRef).pastableContenteditable();\r\n }\r\n\r\n $paste && ($paste.on('pasteImage', (ev, data) => {\r\n\r\n $.post('/admin/file/base64', {\r\n dataURL: data.dataURL,\r\n type: data.blob.type,\r\n toType: nsCtx.isAt ? 'User' : 'Channel',\r\n toId: nsCtx.chatTo\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this.insertContent(''\r\n .replace(/\\{name\\}/g, data.data.name)\r\n .replace(/\\{baseURL\\}/g, utils.getBaseUrl() + '/')\r\n .replace(/\\{path\\}/g, data.data.path)\r\n .replace(/\\{uuidName\\}/g, data.data.uuidName));\r\n }\r\n });\r\n }).on('pasteImageError', (ev, data) => {\r\n toastr.error(data.message, '剪贴板粘贴图片错误!');\r\n }));\r\n }\r\n\r\n initDropzone() {\r\n this.initUploadDropzone($('.CodeMirror-wrap', this.inputRef), () => {\r\n return this.$chatMsgInputRef\r\n }, false);\r\n this.initUploadDropzone($(this.btnItemUploadRef).children().andSelf(), () => {\r\n return this.$chatMsgInputRef\r\n }, true);\r\n\r\n $(this.chatBtnRef).popup({\r\n inline: true,\r\n hoverable: true,\r\n position: 'bottom left',\r\n delay: {\r\n show: 300,\r\n hide: 300\r\n }\r\n });\r\n\r\n }\r\n\r\n initUploadDropzone(domRef, getInputTargetCb, clickable) {\r\n\r\n let _this = this;\r\n\r\n $(domRef).dropzone({\r\n url: \"/admin/file/upload\",\r\n paramName: 'file',\r\n clickable: !!clickable,\r\n dictDefaultMessage: '',\r\n maxFilesize: 10,\r\n addRemoveLinks: true,\r\n previewsContainer: this.chatStatusBarRef,\r\n previewTemplate: this.previewTemplateRef.innerHTML,\r\n dictCancelUpload: '取消上传',\r\n dictCancelUploadConfirmation: '确定要取消上传吗?',\r\n dictFileTooBig: '文件过大({{filesize}}M),最大限制:{{maxFilesize}}M',\r\n init: function() {\r\n this.on(\"sending\", function(file, xhr, formData) {\r\n if (!getInputTargetCb()) {\r\n this.removeAllFiles(true);\r\n } else {\r\n formData.append('toType', nsCtx.isAt ? 'User' : 'Channel');\r\n formData.append('toId', nsCtx.chatTo);\r\n }\r\n });\r\n this.on(\"success\", function(file, data) {\r\n if (data.success) {\r\n\r\n $.each(data.data, function(index, item) {\r\n if (item.type == 'Image') {\r\n _this.insertContent(' '\r\n .replace(/\\{name\\}/g, item.name)\r\n .replace(/\\{baseURL\\}/g, utils.getBaseUrl() + '/')\r\n .replace(/\\{path\\}/g, item.path)\r\n .replace(/\\{uuidName\\}/g, item.uuidName));\r\n } else {\r\n _this.insertContent('[{name}]({baseURL}{path}{uuidName}) '\r\n .replace(/\\{name\\}/g, item.name)\r\n .replace(/\\{baseURL\\}/g, utils.getBaseUrl() + '/')\r\n .replace(/\\{path\\}/g, \"admin/file/download/\")\r\n .replace(/\\{uuidName\\}/g, item.id));\r\n }\r\n });\r\n toastr.success('上传成功!');\r\n } else {\r\n toastr.error(data.data, '上传失败!');\r\n }\r\n\r\n });\r\n this.on(\"error\", function(file, errorMessage, xhr) {\r\n toastr.error(errorMessage, '上传失败!');\r\n });\r\n this.on(\"complete\", function(file) {\r\n this.removeFile(file);\r\n });\r\n }\r\n });\r\n }\r\n\r\n initSimpleMDE(textareaDom) {\r\n this.simplemde = new SimpleMDE({\r\n element: textareaDom,\r\n spellChecker: false,\r\n status: false,\r\n autofocus: true,\r\n toolbar: false,\r\n // forceSync: true,\r\n autoDownloadFontAwesome: false,\r\n insertTexts: {\r\n table: [\"\", \"\\n\\n| 列1 | 列2 | 列3 |\\n| ------ | ------ | ------ |\\n| 文本 | 文本 | 文本 |\\n\\n\"],\r\n },\r\n previewRender: (plainText, preview) => { // Async method\r\n return this.simplemde.markdown(utils.preParse(plainText));\r\n },\r\n });\r\n\r\n this.$chatMsgInputRef = $(this.inputRef).find('.textareaWrapper .CodeMirror textarea');\r\n if (this.$chatMsgInputRef.size() === 0) {\r\n this.$chatMsgInputRef = $(this.inputRef).find('.textareaWrapper .CodeMirror [contenteditable=\"true\"]');\r\n }\r\n\r\n this.initTextcomplete();\r\n }\r\n\r\n initTextcomplete() {\r\n\r\n $(this.$chatMsgInputRef).textcomplete([{ // chat msg help\r\n match: /(|\\b)(\\/.*)$/,\r\n search: (term, callback) => {\r\n var keys = _.keys(tips);\r\n callback($.map(keys, (key) => {\r\n return key.indexOf(term) === 0 ? key : null;\r\n }));\r\n },\r\n template: (value, term) => {\r\n return tips[value].label;\r\n },\r\n replace: (value) => {\r\n if (this.tipsActionHandler(value)) {\r\n this.setCaretPosition(tips[value].line, tips[value].ch);\r\n return `$1${tips[value].value}`;\r\n } else {\r\n return '';\r\n }\r\n }\r\n }, { // @user\r\n match: /(^|\\s)@(\\w*)$/,\r\n search: (term, callback) => {\r\n callback($.map(this.members, (member) => {\r\n return (member.enabled && member.username.indexOf(term) >= 0) ? member.username : null;\r\n }));\r\n },\r\n template: (value, term) => {\r\n let user = _.find(this.members, { username: value });\r\n return `${user.name} - ${user.mails} (${user.username})`;\r\n },\r\n replace: (value) => {\r\n return `$1{~${value}}`;\r\n }\r\n }, { // emoji\r\n match: /(^|\\s):([\\+\\-\\w]*)$/,\r\n search: function(term, callback) {\r\n callback($.map(emojis, (emoji) => {\r\n return _.some(emoji.split('_'), (item) => {\r\n return item.indexOf(term) === 0;\r\n }) ? emoji : null;\r\n }));\r\n },\r\n template: (value, term) => {\r\n if (value == 'search') {\r\n return `表情查找 - :search`;\r\n }\r\n let emojiKey = `:${value}:`;\r\n return `${emojify.replace(emojiKey)} - ${emojiKey}`;\r\n },\r\n replace: (value) => {\r\n if (this.tipsActionHandler(value)) {\r\n return '$1:' + value + ': ';\r\n } else {\r\n return '';\r\n }\r\n }\r\n }], {\r\n appendTo: '.tms-chat-status-bar',\r\n maxCount: nsCons.NUM_TEXT_COMPLETE_MAX_COUNT\r\n });\r\n\r\n this.simplemde.codemirror.on('keydown', (cm, e) => {\r\n if (_.includes([13, 38, 40], e.keyCode) && this.isTipsShow()) { // enter | up | down\r\n e.preventDefault();\r\n } else if (e.ctrlKey && e.keyCode === 13) {\r\n this.sendChatMsg();\r\n } else if (e.keyCode === 27) {\r\n this.simplemde.value('');\r\n } else if (e.ctrlKey && e.keyCode == 85) {\r\n $(this.btnItemUploadRef).find('.content').click();\r\n } else if (e.ctrlKey && e.keyCode == 191) {\r\n this.emHotkeysModal.show();\r\n }\r\n });\r\n }\r\n\r\n setCaretPosition(line, ch) {\r\n (line || ch) && (_.delay(() => {\r\n let cr = this.simplemde.codemirror.getCursor();\r\n this.simplemde.codemirror.setCursor({\r\n line: cr.line - (line ? line : 0),\r\n ch: cr.line ? (ch ? ch : 0) : (cr.ch - (ch ? ch : 0))\r\n });\r\n }, 100));\r\n }\r\n\r\n sendChatMsg() {\r\n\r\n let content = this.simplemde.value();\r\n\r\n if (!$.trim(content)) {\r\n this.simplemde.value('');\r\n return;\r\n }\r\n\r\n if (this.sending) {\r\n return;\r\n }\r\n\r\n this.sending = true;\r\n\r\n var html = utils.md2html(content);\r\n\r\n let url;\r\n let data;\r\n if (this.isAt) {\r\n url = `/admin/chat/direct/create`;\r\n data = {\r\n baseUrl: utils.getBaseUrl(),\r\n path: wurl('path'),\r\n chatTo: this.chatTo,\r\n content: content,\r\n contentHtml: html\r\n };\r\n } else {\r\n url = `/admin/chat/channel/create`;\r\n data = {\r\n url: utils.getUrl(),\r\n channelId: this.channel.id,\r\n usernames: utils.parseUsernames(content, this.members).join(','),\r\n content: content,\r\n contentHtml: html\r\n };\r\n }\r\n $.post(url, data, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this.simplemde.value('');\r\n ea.publish(nsCons.EVENT_CHAT_MSG_SENDED, {\r\n data: data\r\n });\r\n } else {\r\n toastr.error(data.data, '发送消息失败!');\r\n }\r\n }).always(() => {\r\n this.sending = false;\r\n });\r\n }\r\n\r\n sendChatMsgHandler() {\r\n this.sendChatMsg();\r\n }\r\n\r\n isTipsShow() {\r\n return $(this.chatStatusBarRef).find('.textcomplete-dropdown:visible').size() === 1;\r\n }\r\n\r\n /**\r\n * 编辑器插入自定义沟通内容\r\n * @param {[type]} cm [description]\r\n * @param {[type]} comment [description]\r\n * @return {[type]} [description]\r\n */\r\n insertContent(content, mde) {\r\n try {\r\n let cm = mde ? mde.codemirror : this.simplemde.codemirror;\r\n var cursor = cm.getCursor();\r\n if (cursor) {\r\n cm.replaceRange(content, cursor, cursor);\r\n cm.focus();\r\n }\r\n } catch (err) { console.log(err); }\r\n }\r\n\r\n tipsActionHandler(value) {\r\n if (value == '/upload') {\r\n $(this.btnItemUploadRef).find('.content').click();\r\n } else if (value == '/shortcuts') {\r\n this.emHotkeysModal.show();\r\n } else if (value == 'search') {\r\n _.delay(() => { utils.openNewWin(nsCons.STR_EMOJI_SEARCH_URL); }, 200);\r\n } else {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatMemberPopup {\r\n\r\n members = [];\r\n member = {};\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.subscribe = ea.subscribe(nsCons.EVENT_CHAT_MEMBER_POPUP_SHOW, (payload) => {\r\n this.channel = payload.channel;\r\n this.username = payload.username;\r\n this.target = payload.target;\r\n if (this.username == 'all') {\r\n if (!this.channel) {\r\n return;\r\n }\r\n this.members = this.channel.members;\r\n } else {\r\n this.member = utils.getUser(this.username);\r\n let user = utils.getUser(this.member.creator);\r\n this.member.creatorName = (user && (!!user.name)) ? user.name : this.member.creator;\r\n }\r\n _.defer(() => {\r\n\r\n $(this.target).popup({\r\n popup: this.popup,\r\n hoverable: true,\r\n inline: false,\r\n silent: true,\r\n movePopup: false,\r\n position: 'bottom left',\r\n jitter: 300,\r\n prefer: 'opposite',\r\n // boundary: '.tms-content',\r\n // context: '.tms-content',\r\n // maxSearchDepth: 50,\r\n delay: {\r\n show: 300,\r\n hide: 300\r\n }\r\n }).popup('show');\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatMsgPopup {\r\n\r\n chatMsg;\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.subscribe = ea.subscribe(nsCons.EVENT_CHAT_MSG_POPUP_SHOW, (payload) => {\r\n this.id = payload.id;\r\n this.target = payload.target;\r\n\r\n $(this.target).popup({\r\n popup: this.popup,\r\n hoverable: true,\r\n inline: false,\r\n movePopup: false,\r\n // position: 'top left',\r\n // maxSearchDepth: 50,\r\n silent: true,\r\n position: 'bottom left',\r\n jitter: 300,\r\n prefer: 'opposite',\r\n delay: {\r\n show: 300,\r\n hide: 300\r\n },\r\n onShow: () => {\r\n $.get('/admin/chat/channel/get', {\r\n id: this.id\r\n }, (data) => {\r\n if (data.success) {\r\n this.chatMsg = data.data;\r\n } else {\r\n toastr.error(data.data, \"加载失败!\");\r\n }\r\n });\r\n }\r\n }).popup('show');\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatScheduleEdit {\r\n\r\n @bindable loginUser;\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.actorsOpts = {\r\n onAdd: (addedValue, addedText, $addedChoice) => {\r\n $.post('/admin/schedule/addActors', {\r\n id: this.event.id,\r\n basePath: utils.getBasePath(),\r\n actors: addedValue\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('添加参与者成功!');\r\n ea.publish(nsCons.EVENT_SCHEDULE_REFRESH, {});\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n },\r\n onLabelRemove: (removedValue) => {\r\n if (this.loginUser.username == removedValue) {\r\n return false;\r\n }\r\n $.post('/admin/schedule/removeActors', {\r\n id: this.event.id,\r\n basePath: utils.getBasePath(),\r\n actors: removedValue\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('移除参与者成功!');\r\n ea.publish(nsCons.EVENT_SCHEDULE_REFRESH, {});\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n };\r\n }\r\n\r\n attached() {\r\n $(this.startRef).calendar({\r\n today: true,\r\n endCalendar: $(this.endRef)\r\n });\r\n $(this.endRef).calendar({\r\n today: true,\r\n startCalendar: $(this.startRef)\r\n });\r\n\r\n }\r\n\r\n initMembersUI(last) {\r\n if (last) {\r\n _.defer(() => {\r\n let actors = [this.loginUser.username];\r\n if (this.event) {\r\n actors = _.map(this.event.actors, 'username');\r\n }\r\n\r\n $(this.actorsRef).dropdown().dropdown('clear').dropdown('set selected', actors).dropdown(this.actorsOpts);\r\n });\r\n }\r\n }\r\n\r\n titleKeyupHandler(event) {\r\n if (event.ctrlKey && event.keyCode === 13) {\r\n this.updateHandler();\r\n }\r\n }\r\n\r\n clearStartDateHandler() {\r\n $(this.startRef).calendar('clear');\r\n }\r\n\r\n clearEndDateHandler() {\r\n $(this.endRef).calendar('clear');\r\n }\r\n\r\n show(calEvent) {\r\n this.event = _.clone(calEvent);\r\n\r\n this.showHandler();\r\n\r\n $(this.scheduleEditRef).popup({\r\n on: 'click',\r\n // closable: true,\r\n inline: true,\r\n silent: true,\r\n // movePopup: false,\r\n position: 'bottom center',\r\n jitter: 300,\r\n prefer: 'opposite',\r\n delay: {\r\n show: 300,\r\n hide: 300\r\n }\r\n }).popup('show');\r\n }\r\n\r\n showHandler() {\r\n\r\n this.users = window.tmsUsers;\r\n $(this.actorsRef).dropdown().dropdown('clear');\r\n _.defer(() => {\r\n if (this.event.start) {\r\n $(this.startRef).calendar('set date', this.event.start.toDate());\r\n } else {\r\n $(this.startRef).calendar('clear');\r\n }\r\n\r\n if (this.event.end) {\r\n $(this.endRef).calendar('set date', this.event.end.toDate());\r\n } else {\r\n $(this.endRef).calendar('clear');\r\n }\r\n\r\n let actors = _.map(this.event.actors, 'username');\r\n\r\n $(this.actorsRef).dropdown('set selected', actors).dropdown(this.actorsOpts);\r\n\r\n if (this.event.creator.username == this.loginUser.username) {\r\n $(this.titleRef).focus();\r\n }\r\n\r\n autosize.update(this.titleRef);\r\n });\r\n\r\n }\r\n\r\n updateHandler() {\r\n if (!this.event.title) {\r\n toastr.error('日程内容不能为空!');\r\n return;\r\n }\r\n\r\n let data = {\r\n id: this.event.id,\r\n basePath: utils.getBasePath(),\r\n title: this.event.title\r\n };\r\n let start = $(this.startRef).calendar('get date');\r\n let end = $(this.endRef).calendar('get date');\r\n\r\n if (start) {\r\n data.startDate = start;\r\n } else {\r\n data.startDate = new Date();\r\n }\r\n\r\n if (end) {\r\n data.endDate = end;\r\n }\r\n\r\n $.post('/admin/schedule/update2', data, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('更新日程成功!');\r\n $(this.scheduleEditRef).popup('hide');\r\n ea.publish(nsCons.EVENT_SCHEDULE_REFRESH, {});\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n delHandler() {\r\n this.emConfirmModal.show({\r\n onapprove: () => {\r\n\r\n $.post('/admin/schedule/delete', {\r\n id: this.event.id,\r\n basePath: utils.getBasePath()\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('日程删除成功!');\r\n ea.publish(nsCons.EVENT_SCHEDULE_REFRESH, {});\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n\r\n }\r\n });\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\n\n@containerless\nexport class EmChatScheduleRemind {\n\n @bindable events;\n\n interval = 5000;\n\n headOffset = 10 * 60 * 1000;\n\n reminded = [];\n\n /**\n * 构造函数\n */\n constructor() {\n this._pollCheck();\n }\n\n /**\n * 当数据绑定引擎从视图解除绑定时被调用\n */\n unbind() {\n this.timer && clearInterval(this.timer);\n }\n\n _pollCheck() {\n this.timer = setInterval(() => {\n\n if (!this.events) {\n return;\n }\n\n let now = new Date().getTime();\n _.each(this.events, (event) => {\n if (event.start && !_.includes(this.reminded, event.id)) {\n let start = event.start;\n if (start > now && start < (now + this.headOffset)) {\n this.event = event;\n this.reminded.push(event.id);\n this._desktopPuh();\n this.show();\n }\n }\n });\n\n }, this.interval);\n }\n\n _desktopPuh() {\n push.create('TMS日程提醒通知', {\n body: `内容: ${this.event.title}`,\n icon: {\n x16: 'img/tms-x16.ico',\n x32: 'img/tms-x32.png'\n },\n timeout: 5000\n });\n }\n\n showHandler() {\n\n }\n\n approveHandler() {\n\n }\n\n show() {\n this.emModal.show({\n hideOnApprove: true,\n autoDimmer: false\n });\n }\n}\n","import { bindable, containerless } from 'aurelia-framework';\r\nimport {\r\n default as moment\r\n} from 'moment';\r\nimport 'fullcalendar';\r\nimport 'fullcalendar/dist/locale/zh-cn';\r\n\r\n@containerless\r\nexport class EmChatSchedule {\r\n\r\n @bindable loginUser;\r\n\r\n offset = 100;\r\n\r\n show() {\r\n this.users = window.tmsUsers;\r\n\r\n _.defer(() => {\r\n $(this.scheduleRef).fullCalendar('today');\r\n });\r\n _.delay(() => {\r\n $(this.scheduleRef).fullCalendar('option', 'height', 'parent');\r\n $(this.scheduleRef).fullCalendar('refetchEvents');\r\n }, 500);\r\n }\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.actorsOpts = {\r\n onAdd: (addedValue, addedText, $addedChoice) => {},\r\n onLabelRemove: (removedValue) => {\r\n if (this.loginUser.username == removedValue) {\r\n return false;\r\n }\r\n }\r\n };\r\n\r\n this.subscribe = ea.subscribe(nsCons.EVENT_SCHEDULE_REFRESH, (payload) => {\r\n $(this.scheduleRef).fullCalendar('refetchEvents');\r\n });\r\n\r\n this._getEvents();\r\n }\r\n\r\n _getEvents(start, end, callback) {\r\n let data = {};\r\n if (start) {\r\n data.start = start.unix();\r\n }\r\n if (end) {\r\n data.start = end.unix();\r\n }\r\n $.get('/admin/schedule/listMy', data, (data) => {\r\n if (data.success) {\r\n this.events = _.map(data.data, (item) => {\r\n let event = {\r\n id: item.id,\r\n title: item.title,\r\n actors: item.actors,\r\n creator: item.creator\r\n };\r\n\r\n if (item.startDate) {\r\n event.start = item.startDate;\r\n } else {\r\n event.start = new Date().getTime();\r\n }\r\n\r\n if (item.endDate) {\r\n event.end = item.endDate;\r\n }\r\n\r\n return event;\r\n });\r\n callback && callback(this.events);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n }\r\n\r\n attached() {\r\n\r\n $(this.scheduleRef).fullCalendar({\r\n header: {\r\n left: 'prev,next today',\r\n // center: '',\r\n center: 'title',\r\n right: 'month,agendaWeek,agendaDay,listWeek'\r\n },\r\n // height: $(window).height() - this.offset,\r\n height: 'parent',\r\n defaultDate: new Date(),\r\n defaultView: 'listWeek',\r\n editable: true,\r\n eventLimit: true, // allow \"more\" link when too many events\r\n navLinks: true,\r\n // timezone: 'Asia/Shanghai',\r\n // timezone: 'UTC',\r\n timezone: 'local',\r\n dayClick: (date, jsEvent, view) => {\r\n\r\n $(this.startRef).calendar('set date', date.toDate());\r\n this.isPopupShowForDayClick = true;\r\n $(this.addRef).popup('show');\r\n },\r\n eventClick: (calEvent, jsEvent, view) => {\r\n this.scheduleEditVm.show(calEvent);\r\n },\r\n eventMouseover: (event, jsEvent, view) => {},\r\n eventMouseout: (event, jsEvent, view) => {},\r\n events: (start, end, timezone, callback) => {\r\n\r\n this._getEvents(start, end, callback);\r\n },\r\n eventDrop: (event, delta, revertFunc) => {\r\n\r\n if (event.creator.username != this.loginUser.username) {\r\n toastr.error('您没有权限修改!');\r\n ea.publish(nsCons.EVENT_SCHEDULE_REFRESH, {});\r\n return;\r\n }\r\n\r\n this._updateDate(event.id, event.start, event.end);\r\n },\r\n eventResize: (event, delta, revertFunc) => {\r\n\r\n if (event.creator.username != this.loginUser.username) {\r\n toastr.error('您没有权限修改!');\r\n ea.publish(nsCons.EVENT_SCHEDULE_REFRESH, {});\r\n return;\r\n }\r\n\r\n this._updateDate(event.id, event.start, event.end);\r\n }\r\n });\r\n\r\n $(this.addRef)\r\n .popup({\r\n on: 'click',\r\n // closable: false,\r\n inline: true,\r\n // hoverable: true,\r\n silent: true,\r\n // movePopup: false,\r\n jitter: 300,\r\n position: 'bottom center',\r\n delay: {\r\n show: 300,\r\n hide: 300\r\n },\r\n onVisible: () => {\r\n $(this.titleRef).focus();\r\n autosize.update(this.titleRef);\r\n if (!this.title && !this.isPopupShowForDayClick) {\r\n $(this.startRef).calendar('set date', new Date());\r\n }\r\n this.isPopupShowForDayClick = false;\r\n }\r\n });\r\n\r\n $(this.startRef).calendar({\r\n today: true,\r\n endCalendar: $(this.endRef)\r\n });\r\n $(this.endRef).calendar({\r\n today: true,\r\n startCalendar: $(this.startRef)\r\n });\r\n\r\n this._reset();\r\n }\r\n\r\n titleKeyupHandler(event) {\r\n if (event.ctrlKey && event.keyCode === 13) {\r\n this.addHandler();\r\n }\r\n }\r\n\r\n _updateDate(id, start, end) {\r\n let data = {\r\n id: id,\r\n basePath: utils.getBasePath()\r\n };\r\n\r\n if (start) {\r\n data.startDate = start.toDate();\r\n } else {\r\n data.startDate = new Date();\r\n }\r\n\r\n if (end) {\r\n data.endDate = end.toDate();\r\n }\r\n\r\n $.post('/admin/schedule/updateStartEndDate', data, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('更新日程成功!');\r\n ea.publish(nsCons.EVENT_SCHEDULE_REFRESH, {});\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n initMembersUI(last) {\r\n if (last) {\r\n _.defer(() => {\r\n $(this.actorsRef).dropdown().dropdown('clear').dropdown(this.actorsOpts).dropdown('set selected', [this.loginUser.username]);\r\n });\r\n }\r\n }\r\n\r\n clearStartDateHandler() {\r\n $(this.startRef).calendar('clear');\r\n }\r\n\r\n clearEndDateHandler() {\r\n $(this.endRef).calendar('clear');\r\n }\r\n\r\n addHandler() {\r\n\r\n if (!this.title) {\r\n toastr.error('日程内容不能为空!');\r\n return;\r\n }\r\n\r\n let data = {\r\n title: this.title,\r\n basePath: utils.getBasePath(),\r\n actors: $(this.actorsRef).dropdown('get value')\r\n };\r\n\r\n let start = $(this.startRef).calendar('get date');\r\n let end = $(this.endRef).calendar('get date');\r\n\r\n if (start) {\r\n data.startDate = start;\r\n } else {\r\n data.startDate = new Date();\r\n }\r\n\r\n if (end) {\r\n data.endDate = end;\r\n }\r\n\r\n $.post('/admin/schedule/create', data, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n $(this.scheduleRef).fullCalendar('refetchEvents');\r\n toastr.success('添加日程成功!');\r\n this._reset();\r\n $(this.addRef).popup('hide');\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n _reset() {\r\n this.title = '';\r\n $(this.startRef).calendar('set date', new Date());\r\n $(this.endRef).calendar('clear');\r\n $(this.actorsRef).dropdown('clear');\r\n if (this.loginUser && this.loginUser.username) {\r\n $(this.actorsRef).dropdown('set selected', [this.loginUser.username]).dropdown('set value', this.loginUser.username);\r\n }\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatShare {\r\n\r\n shares = [];\r\n desc = '';\r\n\r\n @bindable chat;\r\n @bindable channel;\r\n @bindable loginUser;\r\n @bindable isAt;\r\n\r\n basePath = utils.getBasePath();\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n $(this.searchRef)\r\n .search({\r\n minCharacters: 2,\r\n cache: false,\r\n selectFirstResult: true,\r\n showNoResults: false,\r\n onSelect: (result, response) => {\r\n result.item._id = _.uniqueId('share-item-');\r\n result.item._type = result.item.username ? 'user' : 'channel';\r\n this.shares.push(result.item);\r\n _.defer(() => { $(this.inputSearchRef).val(''); });\r\n },\r\n apiSettings: {\r\n onResponse: (resp) => {\r\n var response = {\r\n results: []\r\n };\r\n $.each(resp.data.users, (index, item) => {\r\n if (!_.find(_.filter(this.shares, c => c._type == 'user'), { username: item.username })) {\r\n response.results.push({\r\n item: item,\r\n title: ` ${item.name} (${item.username})`,\r\n });\r\n }\r\n });\r\n $.each(resp.data.channels, (index, item) => {\r\n if (!_.find(_.filter(this.shares, c => c._type == 'channel'), { name: item.name })) {\r\n response.results.push({\r\n item: item,\r\n title: ` ${item.title} (${item.name})`,\r\n });\r\n }\r\n });\r\n return response;\r\n },\r\n url: '/admin/blog/share/to/search?search={query}'\r\n }\r\n });\r\n $(this.shareRef).popup({\r\n on: 'click',\r\n inline: true,\r\n silent: true,\r\n position: 'bottom right',\r\n jitter: 300,\r\n delay: {\r\n show: 300,\r\n hide: 300\r\n },\r\n onVisible: () => {\r\n $(this.inputSearchRef).focus();\r\n }\r\n });\r\n }\r\n\r\n shareSearchKeyupHandler(event) {\r\n if (event.keyCode === 13 && !$(this.searchRef).search('is visible')) {\r\n let val = $(this.inputSearchRef).val();\r\n if (utils.isMail(val)) {\r\n if (!_.find(_.filter(this.shares, c => c._type == 'mail'), { mail: val })) {\r\n this.shares.push({\r\n _id: _.uniqueId('share-item-'),\r\n _type: 'mail',\r\n mail: val\r\n });\r\n $(this.inputSearchRef).val('');\r\n }\r\n }\r\n }\r\n }\r\n\r\n show() {\r\n $(this.shareRef).popup('show');\r\n }\r\n\r\n removeShareHandler(item) {\r\n this.shares = _.reject(this.shares, { _id: item._id });\r\n }\r\n\r\n cancelHandler() {\r\n this._reset();\r\n }\r\n\r\n _reset() {\r\n this.shares = [];\r\n this.desc = '';\r\n $(this.inputSearchRef).val('');\r\n $(this.shareRef).popup('hide');\r\n }\r\n\r\n shareHandler() {\r\n\r\n if (this.shares.length === 0) {\r\n toastr.error('请先指定沟通消息分享用户或者频道或者邮箱!');\r\n return;\r\n }\r\n\r\n this.ajaxS = $.post(`/admin/chat/${this.isAt ? 'direct' : 'channel'}/share`, {\r\n basePath: utils.getBasePath(),\r\n href: `${this.basePath}#/chat/${this.isAt ? ('@' + this.loginUser.username) : this.channel.name}?id=${this.chat.id}`,\r\n id: this.chat.id,\r\n desc: this.desc,\r\n html: utils.md2html(this.chat.content),\r\n users: _.chain(this.shares).filter(item => item._type == 'user').map('username').join().value(),\r\n channels: _.chain(this.shares).filter(item => item._type == 'channel').map('name').join().value(),\r\n mails: _.chain(this.shares).filter(item => item._type == 'mail').map('mail').join().value()\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this._reset();\r\n toastr.success('沟通消息分享成功!');\r\n } else {\r\n toastr.error(data.data, '沟通消息分享失败!');\r\n }\r\n });\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatSidebarLeft {\r\n\r\n @bindable users;\r\n @bindable loginUser;\r\n @bindable channels;\r\n @bindable chatTo;\r\n @bindable isAt;\r\n filter = '';\r\n isSuper = nsCtx.isSuper;\r\n\r\n usersChanged() {\r\n this._filter();\r\n }\r\n\r\n channelsChanged() {\r\n this._filter();\r\n }\r\n\r\n loginUserChanged() {\r\n if (this.loginUser) {\r\n this.isSuper = utils.isSuperUser(this.loginUser);\r\n }\r\n }\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.subscribe = ea.subscribe(nsCons.EVENT_CHANNEL_ACTIONS, (payload) => {\r\n this[payload.action](payload.item);\r\n });\r\n this.subscribe1 = ea.subscribe(nsCons.EVENT_SYSTEM_LINKS_REFRESH, (payload) => {\r\n this._refreshSysLinks();\r\n });\r\n }\r\n\r\n _refreshSysLinks() {\r\n $.get('/admin/link/listByApp', (data) => {\r\n if (data.success) {\r\n this.sysLinks = data.data;\r\n } else {\r\n this.sysLinks = [];\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n this.subscribe1.dispose();\r\n }\r\n\r\n bind(bindingCtx, overrideCtx) {\r\n this._refreshSysLinks();\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n $(this.logoRef).on('mouseenter', (event) => {\r\n $(this.logoRef).animateCss('flip');\r\n });\r\n }\r\n\r\n _filter() {\r\n\r\n _.each(this.users, (item) => {\r\n item.hidden = item.username.indexOf(this.filter) == -1;\r\n });\r\n\r\n _.each(this.channels, (item) => {\r\n item.hidden = item.name.indexOf(this.filter) == -1;\r\n });\r\n }\r\n\r\n chatToUserFilerKeyupHanlder(evt) {\r\n this._filter();\r\n\r\n if (evt.keyCode === 13) {\r\n let user = _.find(this.users, {\r\n hidden: false\r\n });\r\n\r\n if (user) {\r\n window.location = wurl('path') + `#/chat/@${user.username}`;\r\n return;\r\n }\r\n\r\n let channel = _.find(this.channels, {\r\n hidden: false\r\n });\r\n\r\n if (channel) {\r\n window.location = wurl('path') + `#/chat/${channel.name}`;\r\n return;\r\n }\r\n }\r\n }\r\n\r\n clearFilterHandler() {\r\n this.filter = '';\r\n _.each(this.users, (item) => {\r\n item.hidden = item.username.indexOf(this.filter) == -1;\r\n });\r\n _.each(this.channels, (item) => {\r\n item.hidden = item.name.indexOf(this.filter) == -1;\r\n });\r\n }\r\n\r\n editHandler(item) {\r\n this.selectedChannel = item;\r\n this.channelEditMd.show();\r\n }\r\n\r\n delHandler(item) {\r\n this.confirmMd.show({\r\n onapprove: () => {\r\n $.post('/admin/channel/delete', {\r\n id: item.id\r\n }, (data) => {\r\n if (data.success) {\r\n toastr.success('删除频道成功!');\r\n _.remove(this.channels, { id: item.id });\r\n ea.publish(nsCons.EVENT_CHAT_CHANNEL_DELETED, { channel: item });\r\n } else {\r\n toastr.error(data.data, '删除频道失败!');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n membersMgrHandler(item) {\r\n this.selectedChannel = item;\r\n this.channelMembersMgrMd.show();\r\n }\r\n\r\n membersShowHandler(item) {\r\n this.selectedChannel = item;\r\n this.channelMembersShowMd.show();\r\n }\r\n\r\n leaveHandler(item) {\r\n this.confirmMd.show({\r\n content: `确定要离开频道${item.title}
吗?`,\r\n onapprove: () => {\r\n $.post('/admin/channel/leave', {\r\n id: item.id\r\n }, (data) => {\r\n if (data.success) {\r\n toastr.success('离开频道成功!');\r\n ea.publish(nsCons.EVENT_CHAT_CHANNEL_LEAVED, { channel: data.data });\r\n } else {\r\n toastr.error(data.data, '离开频道失败!');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n switchHandler() {\r\n ea.publish(nsCons.EVENT_SWITCH_CHAT_TO, {});\r\n }\r\n\r\n addChannelLinkHandler(event) {\r\n this.sysLinkMgrVm.show();\r\n }\r\n\r\n isSubscribed(item) {\r\n return _.some(item.subscriber, { username: this.loginUser.username });\r\n }\r\n\r\n subscribeHandler(item) {\r\n\r\n let isSub = this.isSubscribed(item);\r\n\r\n $.post(`/admin/channel/${isSub ? 'unsubscribe' : 'subscribe'}`, {\r\n id: item.id\r\n }, (data) => {\r\n if (data.success) {\r\n item.subscriber = data.data.subscriber;\r\n toastr.success(`${isSub ? '取消订阅' : '订阅频道'}成功!`);\r\n item.isSubscribed = !isSub;\r\n } else {\r\n toastr.error(data.data, `${isSub ? '取消订阅' : '订阅频道'}失败!`);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatSidebarRight {\r\n\r\n last = true;\r\n @bindable loginUser;\r\n @bindable isAt;\r\n @bindable channel;\r\n forAction = ''; // search | stow | at\r\n forShow = '';\r\n\r\n basePath = utils.getBasePath();\r\n\r\n headerMapping = {\r\n [nsCons.ACTION_TYPE_SEARCH]: '无符合检索结果',\r\n [nsCons.ACTION_TYPE_AT]: '暂无@消息',\r\n [nsCons.ACTION_TYPE_STOW]: '暂无收藏消息',\r\n };\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n\r\n this.subscribe = ea.subscribe(nsCons.EVENT_CHAT_SEARCH_RESULT, (payload) => {\r\n this._mappingActionShow(payload.action);\r\n let result = payload.result;\r\n this.search = payload.search;\r\n this.page = result;\r\n this.chats = result.content;\r\n this.last = result.last;\r\n this.moreCnt = result.totalElements - (result.number + 1) * result.size;\r\n });\r\n\r\n this.subscribe2 = ea.subscribe(nsCons.EVENT_CHAT_SHOW_AT, (payload) => {\r\n this._mappingActionShow(payload.action);\r\n let result = payload.result;\r\n this.page = result;\r\n this.chats = _.map(result.content, (item) => {\r\n let chatChannel = item.chatChannel;\r\n chatChannel.chatAt = item;\r\n return chatChannel;\r\n });\r\n this.last = result.last;\r\n this.moreCnt = result.totalElements - (result.number + 1) * result.size;\r\n });\r\n\r\n this.subscribe1 = ea.subscribe(nsCons.EVENT_CHAT_SHOW_STOW, (payload) => {\r\n this._mappingActionShow(payload.action);\r\n this.chats = payload.result;\r\n this.last = true;\r\n });\r\n\r\n this.subscribe3 = ea.subscribe(nsCons.EVENT_CHAT_SHOW_DIR, (payload) => {\r\n this._mappingActionShow(payload.action);\r\n $(this.dirRef).empty().append(payload.result);\r\n });\r\n\r\n this.subscribe4 = ea.subscribe(nsCons.EVENT_CHAT_SHOW_ATTACH, (payload) => {\r\n this._mappingActionShow(payload.action);\r\n });\r\n\r\n this.subscribe5 = ea.subscribe(nsCons.EVENT_CHAT_SHOW_SCHEDULE, (payload) => {\r\n this._mappingActionShow(payload.action);\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n\r\n this.subscribe.dispose();\r\n this.subscribe1.dispose();\r\n this.subscribe2.dispose();\r\n this.subscribe3.dispose();\r\n this.subscribe4.dispose();\r\n this.subscribe5.dispose();\r\n }\r\n\r\n _mappingActionShow(forAction) {\r\n this.forAction = forAction;\r\n if (_.includes([nsCons.ACTION_TYPE_SEARCH, nsCons.ACTION_TYPE_STOW, nsCons.ACTION_TYPE_AT], this.forAction)) {\r\n this.forShow = 'chat-msg';\r\n } else if (_.includes([nsCons.ACTION_TYPE_DIR], this.forAction)) {\r\n this.forShow = 'wiki-dir';\r\n } else if (_.includes([nsCons.ACTION_TYPE_ATTACH], this.forAction)) {\r\n this.forShow = 'chat-attach';\r\n this.chatAttachVm.fetch();\r\n } else if (_.includes([nsCons.ACTION_TYPE_SCHEDULE], this.forAction)) {\r\n this.forShow = 'chat-schedule';\r\n this.chatScheduleVm.show();\r\n }\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n this.initHotkeys();\r\n }\r\n\r\n initHotkeys() {\r\n $(document).bind('keydown', 'o', (event) => {\r\n event.preventDefault();\r\n let item = _.find(this.chats, { isHover: true });\r\n item && (item.isOpen = !item.isOpen);\r\n });\r\n\r\n }\r\n\r\n searchItemMouseleaveHandler(item) {\r\n item.isOpen = false;\r\n item.isHover = false;\r\n }\r\n\r\n searchItemMouseenterHandler(item) {\r\n item.isHover = true;\r\n }\r\n\r\n gotoChatHandler(item) {\r\n ea.publish(nsCons.EVENT_CHAT_SEARCH_GOTO_CHAT_ITEM, { chatItem: item });\r\n }\r\n\r\n openSearchItemHandler(item) {\r\n item.isOpen = !item.isOpen;\r\n }\r\n\r\n searchMoreHandler() {\r\n\r\n if (this.forAction == nsCons.ACTION_TYPE_SEARCH) {\r\n this.searchMoreP = $.get('/admin/chat/direct/search', {\r\n search: this.search,\r\n size: this.page.size,\r\n page: this.page.number + 1\r\n }, (data) => {\r\n if (data.success) {\r\n this.chats = _.concat(this.chats, data.data.content);\r\n\r\n this.page = data.data;\r\n this.last = data.data.last;\r\n this.moreCnt = data.data.totalElements - (data.data.number + 1) * data.data.size;\r\n }\r\n });\r\n } else {\r\n this.searchMoreP = $.get('/admin/chat/channel/getAts', {\r\n size: this.page.size,\r\n page: this.page.number + 1\r\n }, (data) => {\r\n if (data.success) {\r\n this.chats = _.concat(this.chats, _.map(data.data.content, (item) => {\r\n let chatChannel = item.chatChannel;\r\n chatChannel.chatAt = item;\r\n return chatChannel;\r\n }));\r\n\r\n this.page = data.data;\r\n this.last = data.data.last;\r\n this.moreCnt = data.data.totalElements - (data.data.number + 1) * data.data.size;\r\n }\r\n });\r\n }\r\n }\r\n\r\n removeStowHandler(item) {\r\n $.post('/admin/chat/channel/removeStow', {\r\n id: item.chatStow.id\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this.chats = _.reject(this.chats, {\r\n id: item.id\r\n });\r\n toastr.success('移除收藏消息成功!');\r\n } else {\r\n toastr.error(data.data, '移除收藏消息失败!');\r\n }\r\n });\r\n }\r\n\r\n removeAtHandler(item) {\r\n $.post('/admin/chat/channel/markAsReaded', {\r\n chatAtId: item.chatAt.id\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this.chats = _.reject(this.chats, {\r\n id: item.id\r\n });\r\n } else {\r\n toastr.error(data.data, '移除@消息失败!');\r\n }\r\n });\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatSystemLinkMgr {\r\n\r\n links = [];\r\n\r\n addHandler() {\r\n $.post('/admin/link/create', {\r\n title: this.title,\r\n href: this.href,\r\n type: 'App'\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this.title = '';\r\n this.href = '';\r\n this.links.push(data.data);\r\n ea.publish(nsCons.EVENT_SYSTEM_LINKS_REFRESH, {});\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n delHandler(item) {\r\n $.post('/admin/link/delete', {\r\n id: item.id\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this.links = _.reject(this.links, { id: item.id });\r\n ea.publish(nsCons.EVENT_SYSTEM_LINKS_REFRESH, {});\r\n toastr.success('删除成功!');\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n editHandler(item) {\r\n item.oldTitle = item.title;\r\n item.oldHref = item.href;\r\n item.isEditing = true;\r\n }\r\n\r\n updateHandler(item) {\r\n $.post('/admin/link/update', {\r\n id: item.id,\r\n title: item.title,\r\n href: item.href,\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n item.isEditing = false;\r\n ea.publish(nsCons.EVENT_SYSTEM_LINKS_REFRESH, {});\r\n toastr.success('更新成功!');\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n showHandler() {\r\n $.get('/admin/link/listByApp', (data) => {\r\n if (data.success) {\r\n this.links = data.data;\r\n } else {\r\n this.links = [];\r\n }\r\n });\r\n }\r\n\r\n show() {\r\n this.emModal.show({ autoDimmer: false });\r\n }\r\n\r\n approveHandler(modal) {\r\n\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatTopMenu {\r\n\r\n @bindable loginUser;\r\n @bindable chatUser;\r\n @bindable users;\r\n @bindable channels;\r\n @bindable channel;\r\n @bindable loginUser;\r\n @bindable chatId;\r\n @bindable chatTo;\r\n @bindable isAt;\r\n isRightSidebarShow = false;\r\n activeType = ''; // 触发激活的操作类型: search | stow | at | attach\r\n\r\n ACTION_TYPE_SEARCH = nsCons.ACTION_TYPE_SEARCH;\r\n ACTION_TYPE_STOW = nsCons.ACTION_TYPE_STOW;\r\n ACTION_TYPE_AT = nsCons.ACTION_TYPE_AT;\r\n ACTION_TYPE_DIR = nsCons.ACTION_TYPE_DIR;\r\n ACTION_TYPE_ATTACH = nsCons.ACTION_TYPE_ATTACH;\r\n ACTION_TYPE_SCHEDULE = nsCons.ACTION_TYPE_SCHEDULE;\r\n\r\n countAt = null;\r\n newAtCnt = 0;\r\n\r\n channelLinks = [];\r\n\r\n loginUserChanged() {\r\n if (this.loginUser) {\r\n this.isSuper = utils.isSuperUser(this.loginUser);\r\n }\r\n }\r\n\r\n chatToChanged() {\r\n $(this.chatToDropdownRef).dropdown('set selected', this.chatId).dropdown('hide');\r\n }\r\n\r\n channelChanged() {\r\n this._refreshChannelLinks();\r\n }\r\n\r\n _refreshChannelLinks() {\r\n if (this.channel) {\r\n $.get('/admin/link/listBy', {\r\n channelId: this.channel.id\r\n }, (data) => {\r\n if (data.success) {\r\n this.channelLinks = data.data;\r\n } else {\r\n this.channelLinks = [];\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.subscribe = ea.subscribe(nsCons.EVENT_CHAT_MSG_WIKI_DIR, (payload) => {\r\n this.dir = payload.dir;\r\n\r\n if ((this.activeType == this.ACTION_TYPE_DIR) && this.isRightSidebarShow) {\r\n ea.publish(nsCons.EVENT_CHAT_SHOW_DIR, {\r\n action: this.activeType,\r\n result: this.dir\r\n });\r\n }\r\n });\r\n\r\n this.subscribe1 = ea.subscribe(nsCons.EVENT_CHAT_POLL_UPDATE, (payload) => {\r\n if (this.countAt !== null && this.newAtCnt <= 0) {\r\n this.newAtCnt = payload.countAt - this.countAt;\r\n }\r\n this.countAt = payload.countAt;\r\n this.countMyRecentSchedule = payload.countMyRecentSchedule;\r\n });\r\n\r\n this.subscribe2 = ea.subscribe(nsCons.EVENT_SWITCH_CHAT_TO, (payload) => {\r\n $(this.chatToDropdownRef).dropdown('toggle');\r\n });\r\n\r\n this.subscribe3 = ea.subscribe(nsCons.EVENT_CHANNEL_LINKS_REFRESH, (payload) => {\r\n this._refreshChannelLinks();\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n this.subscribe1.dispose();\r\n this.subscribe2.dispose();\r\n this.subscribe3.dispose();\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n this.initHotkeys();\r\n this.initSearch();\r\n }\r\n\r\n initSearch() {\r\n var source = [];\r\n if (localStorage) {\r\n var v = localStorage.getItem('tms/chat-direct:search');\r\n source = v ? $.parseJSON(v) : [];\r\n }\r\n this.searchSource = source;\r\n $(this.searchRef).search({\r\n source: source,\r\n onSelect: (result, response) => {\r\n this.searchHandler();\r\n },\r\n onResults: () => {\r\n $(this.searchRef).search('hide results');\r\n }\r\n });\r\n\r\n }\r\n\r\n searchHandler() {\r\n\r\n $(this.searchRef).search('hide results');\r\n\r\n let search = $(this.searchInputRef).val();\r\n\r\n if (!search || search.length < 2) {\r\n toastr.error('检索条件至少需要两个字符!');\r\n return;\r\n }\r\n\r\n this.search = search;\r\n\r\n // 保存检索值\r\n var isExists = false;\r\n $.each(this.searchSource, function(index, val) {\r\n if (val.title == search) {\r\n isExists = true;\r\n return false;\r\n }\r\n });\r\n if (!isExists) {\r\n this.searchSource.splice(0, 0, {\r\n title: search\r\n });\r\n $(this.searchRef).search({\r\n source: _.clone(this.searchSource)\r\n });\r\n }\r\n localStorage && localStorage.setItem('tms/chat-direct:search', JSON.stringify(this.searchSource));\r\n\r\n let url;\r\n let data;\r\n if (this.isAt) {\r\n url = `/admin/chat/direct/search`;\r\n data = {\r\n search: this.search,\r\n size: 20,\r\n page: 0\r\n };\r\n } else {\r\n url = `/admin/chat/channel/search`;\r\n data = {\r\n search: this.search,\r\n channelId: this.channel.id,\r\n size: 20,\r\n page: 0\r\n };\r\n }\r\n\r\n this.searchingP = $.get(url, data, (data) => {\r\n if (data.success) {\r\n this.toggleRightSidebar(true);\r\n\r\n ea.publish(nsCons.EVENT_CHAT_SEARCH_RESULT, {\r\n action: this.activeType,\r\n result: data.data,\r\n search: this.search\r\n });\r\n }\r\n });\r\n }\r\n\r\n initHotkeys() {\r\n $(document).bind('keydown', 's', (event) => { // sidebar\r\n event.preventDefault();\r\n this.toggleRightSidebar();\r\n }).bind('keydown', 'ctrl+k', (event) => {\r\n event.preventDefault();\r\n $(this.chatToDropdownRef).dropdown('toggle');\r\n });\r\n\r\n $(this.filterChatToUser).bind('keydown', 'ctrl+k', (event) => {\r\n event.preventDefault();\r\n $(this.chatToDropdownRef).dropdown('toggle');\r\n });\r\n }\r\n\r\n initChatToDropdownHandler(last) {\r\n if (last) {\r\n _.defer(() => {\r\n $(this.chatToDropdownRef).dropdown().dropdown('set selected', this.chatId).dropdown({\r\n onChange: (value, text, $choice) => {\r\n window.location = wurl('path') + `#/chat/${$choice.attr('data-id')}`;\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n searchFocusHandler() {\r\n $(this.searchInputRef).css('width', 'auto');\r\n $(this.searchRemoveRef).show();\r\n this.isActiveSearch = true;\r\n }\r\n\r\n searchBlurHandler() {\r\n if (!$(this.searchInputRef).val()) {\r\n $(this.searchInputRef).css('width', '95px');\r\n $(this.searchRemoveRef).hide();\r\n this.isActiveSearch = false;\r\n }\r\n }\r\n\r\n sibebarRightHandler(event) {\r\n this.toggleRightSidebar();\r\n }\r\n\r\n toggleRightSidebar(asShow) {\r\n if (_.isUndefined(asShow)) {\r\n this.isRightSidebarShow = !this.isRightSidebarShow;\r\n } else {\r\n this.isRightSidebarShow = asShow;\r\n }\r\n\r\n ea.publish(nsCons.EVENT_CHAT_SIDEBAR_TOGGLE, {\r\n isShow: this.isRightSidebarShow\r\n });\r\n }\r\n\r\n searchKeyupHandler(evt) {\r\n if (evt.keyCode === 13) {\r\n this.activeType = nsCons.ACTION_TYPE_SEARCH;\r\n this.searchHandler();\r\n } else if (evt.keyCode === 27) {\r\n this.clearSearchHandler();\r\n }\r\n return true;\r\n }\r\n\r\n clearSearchHandler() {\r\n $(this.searchInputRef).val('').focus();\r\n }\r\n\r\n showStowHandler(event) {\r\n\r\n if (this.isRightSidebarShow && (this.activeType == nsCons.ACTION_TYPE_STOW) && !event.ctrlKey) {\r\n this.toggleRightSidebar();\r\n return;\r\n }\r\n\r\n this.activeType = nsCons.ACTION_TYPE_STOW;\r\n this.ajaxStow = $.get('/admin/chat/channel/getStows', (data) => {\r\n if (data.success) {\r\n let stowChats = _.map(data.data, (item) => {\r\n let chatChannel = item.chatChannel;\r\n chatChannel.chatStow = item;\r\n return chatChannel;\r\n });\r\n ea.publish(nsCons.EVENT_CHAT_SHOW_STOW, {\r\n action: this.activeType,\r\n result: _.reverse(stowChats)\r\n });\r\n this.toggleRightSidebar(true);\r\n } else {\r\n toastr.error(data.data, '获取收藏消息失败!');\r\n }\r\n });\r\n }\r\n\r\n showAtHandler(event) {\r\n\r\n if (this.isRightSidebarShow && (this.activeType == nsCons.ACTION_TYPE_AT) && (this.newAtCnt == 0) && !event.ctrlKey) {\r\n this.toggleRightSidebar();\r\n return;\r\n }\r\n\r\n this.activeType = nsCons.ACTION_TYPE_AT;\r\n this.newAtCnt = 0;\r\n this.ajaxAt = $.get('/admin/chat/channel/getAts', {\r\n page: 0,\r\n size: 20\r\n }, (data) => {\r\n if (data.success) {\r\n ea.publish(nsCons.EVENT_CHAT_SHOW_AT, {\r\n action: this.activeType,\r\n result: data.data\r\n });\r\n this.toggleRightSidebar(true);\r\n } else {\r\n toastr.error(data.data, '获取@消息失败!');\r\n }\r\n });\r\n }\r\n\r\n logoutHandler() {\r\n $.post('/admin/logout').always(() => {\r\n utils.redirect2Login();\r\n });\r\n }\r\n\r\n showWikiDirHandler(event) {\r\n\r\n if (this.isRightSidebarShow && (this.activeType == nsCons.ACTION_TYPE_DIR) && !event.ctrlKey) {\r\n this.toggleRightSidebar();\r\n return;\r\n }\r\n\r\n this.activeType = nsCons.ACTION_TYPE_DIR;\r\n ea.publish(nsCons.EVENT_CHAT_SHOW_DIR, {\r\n action: this.activeType,\r\n result: this.dir\r\n });\r\n this.toggleRightSidebar(true);\r\n }\r\n\r\n showAttachHandler(event) {\r\n\r\n if (this.isRightSidebarShow && (this.activeType == nsCons.ACTION_TYPE_ATTACH) && !event.ctrlKey) {\r\n this.toggleRightSidebar();\r\n return;\r\n }\r\n\r\n this.activeType = nsCons.ACTION_TYPE_ATTACH;\r\n ea.publish(nsCons.EVENT_CHAT_SHOW_ATTACH, {\r\n action: this.activeType\r\n });\r\n this.toggleRightSidebar(true);\r\n }\r\n\r\n showScheduleHandler(event) {\r\n\r\n if (this.isRightSidebarShow && (this.activeType == nsCons.ACTION_TYPE_SCHEDULE) && !event.ctrlKey) {\r\n this.toggleRightSidebar();\r\n return;\r\n }\r\n\r\n this.activeType = nsCons.ACTION_TYPE_SCHEDULE;\r\n ea.publish(nsCons.EVENT_CHAT_SHOW_SCHEDULE, {\r\n action: this.activeType\r\n });\r\n this.toggleRightSidebar(true);\r\n }\r\n\r\n userEditHandler() {\r\n this.userEditMd.show();\r\n }\r\n\r\n membersShowHandler(item, event) {\r\n event.stopImmediatePropagation();\r\n ea.publish(nsCons.EVENT_CHANNEL_ACTIONS, {\r\n action: 'membersShowHandler',\r\n item: item\r\n });\r\n }\r\n\r\n leaveHandler(item, event) {\r\n event.stopImmediatePropagation();\r\n ea.publish(nsCons.EVENT_CHANNEL_ACTIONS, {\r\n action: 'leaveHandler',\r\n item: item\r\n });\r\n }\r\n\r\n membersMgrHandler(item, event) {\r\n event.stopImmediatePropagation();\r\n ea.publish(nsCons.EVENT_CHANNEL_ACTIONS, {\r\n action: 'membersMgrHandler',\r\n item: item\r\n });\r\n }\r\n\r\n editHandler(item, event) {\r\n event.stopImmediatePropagation();\r\n ea.publish(nsCons.EVENT_CHANNEL_ACTIONS, {\r\n action: 'editHandler',\r\n item: item\r\n });\r\n }\r\n\r\n delHandler(item, event) {\r\n event.stopImmediatePropagation();\r\n ea.publish(nsCons.EVENT_CHANNEL_ACTIONS, {\r\n action: 'delHandler',\r\n item: item\r\n });\r\n }\r\n\r\n viewOrMgrUsersHandler(event) {\r\n\r\n if (this.channel.owner.username == this.loginUser.username) {\r\n this.membersMgrHandler(this.channel, event);\r\n } else {\r\n this.membersShowHandler(this.channel, event);\r\n }\r\n }\r\n\r\n channelInfoHandler(event) {\r\n\r\n if (this.channel.owner.username == this.loginUser.username) {\r\n this.editHandler(this.channel, event);\r\n } else {\r\n event.stopImmediatePropagation();\r\n }\r\n }\r\n\r\n userInfoHandler(event) {\r\n event.stopImmediatePropagation();\r\n }\r\n\r\n stopImmediatePropagationHandler(event) {\r\n event.stopImmediatePropagation();\r\n }\r\n\r\n mailToHandler(event) {\r\n event.stopImmediatePropagation();\r\n window.location = `mailto:${this.chatUser.mails}`;\r\n }\r\n\r\n channelLinksHandler(event) {\r\n event.stopImmediatePropagation();\r\n $(this.channelLinksDdRef).dropdown('toggle');\r\n }\r\n\r\n addChannelLinkHandler(event) {\r\n this.channelLinkMgrVm.show();\r\n }\r\n\r\n openChannelLinkHandler(event, item) {\r\n event.stopImmediatePropagation();\r\n utils.openNewWin(item.href);\r\n }\r\n}\r\n","import {\r\n bindable,\r\n bindingMode,\r\n containerless\r\n}\r\nfrom 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmCheckbox {\r\n\r\n @bindable label;\r\n @bindable title;\r\n @bindable classes = 'fitted';\r\n @bindable onchange;\r\n @bindable onchecked;\r\n @bindable onunchecked;\r\n @bindable emCheckboxAll;\r\n @bindable({ defaultBindingMode: bindingMode.twoWay }) checked;\r\n\r\n @bindable signal;\r\n\r\n checkedChanged(news, old) {\r\n if (news) {\r\n $(this.checkbox).checkbox('set checked');\r\n } else {\r\n $(this.checkbox).checkbox('set unchecked');\r\n }\r\n\r\n this.signal && bs.signal(this.signal);\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n $(this.checkbox).checkbox({\r\n onChecked: () => {\r\n this.checked = true;\r\n _.defer(() => {\r\n this.emCheckboxAll && this.emCheckboxAll.refreshCheckedStatus();\r\n this.onchecked && this.onchecked(this);\r\n this.signal && bs.signal(this.signal);\r\n });\r\n\r\n },\r\n onUnchecked: () => {\r\n this.checked = false;\r\n _.defer(() => {\r\n this.emCheckboxAll && this.emCheckboxAll.refreshCheckedStatus();\r\n this.onunchecked && this.onunchecked(this);\r\n this.signal && bs.signal(this.signal);\r\n });\r\n\r\n },\r\n onChange: () => {\r\n _.defer(() => {\r\n this.onchange && this.onchange(this);\r\n });\r\n\r\n },\r\n });\r\n this.checkedChanged(this.checked);\r\n }\r\n}\r\n","import { bindable } from 'aurelia-framework';\n\nexport class EmConfirmModal {\n\n\tconfig = {};\n\n constructor() { // 通过构造函数注入\n }\n\n /**\n * 当视图从DOM中分离时被调用\n */\n detached() {\n $(this.md).remove();\n }\n\n attached() {\n\n $(this.md).modal({\n closable: false,\n allowMultiple: true,\n onApprove: () => {\n this.onapprove && this.onapprove();\n },\n onDeny: () => {\n this.ondeny && this.ondeny();\n }\n });\n }\n\n reset() {\n this.config = {\n title: '操作确认',\n content: '确定要执行该操作吗?',\n warning: false\n };\n }\n\n /**\n * 显示确认窗口\n * @param onapprove: 确认回调函数\n * @param ondeny: 取消回调函数\n */\n show(config) {\n\n this.reset();\n\n if (config) {\n this.config = _.extend(this.config, config);\n }\n\n if (config && config.onapprove) {\n this.onapprove = config.onapprove;\n }\n\n if (config && config.ondeny) {\n this.ondeny = config.ondeny;\n }\n\n $(this.md).modal('show');\n }\n\n /* 隐藏确认窗口 */\n hide() {\n $(this.md).modal('hide');\n }\n}\n","import { bindable, bindingMode } from 'aurelia-framework';\r\n\r\nexport class EmDropdown {\r\n\r\n @bindable name = _.uniqueId('em-dropdown-');\r\n @bindable text = '';\r\n @bindable labelProp = 'label';\r\n @bindable valueProp = 'value';\r\n @bindable({ defaultBindingMode: bindingMode.twoWay }) selectedItem;\r\n @bindable menuItems = [];\r\n @bindable classes = 'selection';\r\n\r\n selectedItemChanged(news, old) {\r\n \r\n if (news) {\r\n _.defer(() => {\r\n $(this.dropdown).dropdown('set selected', news);\r\n // console.log('selectedItemChanged: ' + news);\r\n });\r\n }\r\n\r\n }\r\n\r\n menuItemsChanged(news, old) {\r\n if (_.isEmpty(news)) {\r\n $(this.dropdown).dropdown('clear')\r\n this.selectedItem = null;\r\n }\r\n }\r\n\r\n initDropdownHandler(last) {\r\n\r\n if (last) {\r\n _.defer(() => {\r\n $(this.dropdown).dropdown({\r\n onChange: (value, text, $choice) => {\r\n // toastr.info(value + ' | ' + text);\r\n this.selectedItem = value;\r\n }\r\n }).dropdown('set selected', this.selectedItem);\r\n // console.log('initDropdownHandler: ' + this.selectedItem);\r\n });\r\n }\r\n }\r\n}\r\n","import { bindable } from 'aurelia-framework';\r\n\r\nexport class EmHotkeysModal {\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n $(this.md).modal();\r\n }\r\n\r\n show() {\r\n $(this.md).modal('show');\r\n }\r\n}\r\n","import {\r\n bindable,\r\n containerless\r\n}\r\nfrom 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmModal {\r\n\r\n @bindable confirmLabel = '确认';\r\n @bindable cancelLabel = '取消';\r\n @bindable onapprove;\r\n @bindable ondeny;\r\n @bindable onshow;\r\n @bindable onvisible;\r\n @bindable disabled = false;\r\n @bindable classes = 'small';\r\n @bindable showConfirm = true;\r\n\r\n options = {\r\n hideOnApprove: true,\r\n autoDimmer: true\r\n }\r\n\r\n /**\r\n * 当视图从DOM中分离时被调用\r\n */\r\n detached() {\r\n $(this.modal).remove();\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n\r\n $(this.modal).modal({\r\n closable: false,\r\n autofocus: false,\r\n observeChanges: true,\r\n allowMultiple: true,\r\n // detachable: false,\r\n onShow: () => {\r\n this.onshow && this.onshow(this);\r\n },\r\n onVisible: () => {\r\n this.onvisible && this.onvisible(this);\r\n },\r\n onApprove: () => {\r\n this.options.autoDimmer && this.showDimmer();\r\n this.onapprove && this.onapprove(this);\r\n return this.options.hideOnApprove;\r\n },\r\n onDeny: () => {\r\n this.ondeny && this.ondeny(this);\r\n }\r\n });\r\n }\r\n\r\n showDimmer() {\r\n this.loading = true;\r\n $(this.modal).find('.dimmer').dimmer('show');\r\n }\r\n\r\n hideDimmer() {\r\n this.loading = false;\r\n $(this.modal).find('.dimmer').dimmer('hide');\r\n }\r\n\r\n show(options) {\r\n _.extend(this.options, options);\r\n $(this.modal).modal('show');\r\n }\r\n\r\n hide() {\r\n this.hideDimmer();\r\n $(this.modal).modal('hide');\r\n }\r\n\r\n refresh() {\r\n // 延迟方法\r\n _.defer(() => {\r\n $(this.modal).modal('refresh');\r\n });\r\n }\r\n\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\nimport {\r\n default as ColorHash\r\n} from 'color-hash';\r\n\r\n@containerless\r\nexport class EmUserAvatar {\r\n\r\n @bindable user;\r\n\r\n userChanged() {\r\n if (this.user) {\r\n this._calcNameChar();\r\n // let hsl = colorHash.hsl(this.user.username);\r\n let cs = colorHash.rgb(this.user.username);\r\n this.bgColor = `rgba(${cs[0]}, ${cs[1]}, ${cs[2]}, 0.6)`;\r\n // this.bgColor = `hsl(${hsl[0]}, ${hsl[1] * 100}%, ${hsl[2] * 100}%)`;\r\n this.color = `rgba(${255 - cs[0]}, ${255 - cs[1]}, ${255 - cs[2]}, 1)`;\r\n }\r\n }\r\n\r\n _calcNameChar(lastChar = true) {\r\n if (this.user.name) {\r\n this.nameChar = lastChar ? _.last(this.user.name) : _.first(this.user.name);\r\n } else {\r\n this.nameChar = lastChar ? _.last(this.user.username) : _.first(this.user.username);\r\n }\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n $(this.avatarRef).hover(() => {\r\n this._calcNameChar(false);\r\n }, () => {\r\n this._calcNameChar();\r\n });\r\n }\r\n\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmUserEdit {\r\n\r\n @bindable user;\r\n\r\n show() {\r\n this.emModal.show({\r\n hideOnApprove: false,\r\n autoDimmer: true\r\n });\r\n }\r\n\r\n showHandler() {\r\n // $.get('/admin/user/get', {\r\n // username: this.user.username\r\n // }, (data) => {});\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n $(this.frm)\r\n .form({\r\n on: 'blur',\r\n inline: true,\r\n fields: {\r\n name: 'empty',\r\n mail: ['empty', 'email'],\r\n // password: ['minLength[8]'],\r\n }\r\n });\r\n }\r\n\r\n _chkOk() {\r\n let pwd = this.user.password;\r\n if (pwd && pwd.length < 8) {\r\n toastr.error('密码长度不能少于8位字符!');\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n approveHandler(modal) {\r\n\r\n if (this._chkOk() && $(this.frm).form('is valid')) {\r\n $.post('/admin/user/update2', {\r\n username: this.user.username,\r\n password: this.user.password,\r\n name: this.user.name,\r\n mail: this.user.mails\r\n }, (data) => {\r\n modal.hide();\r\n this.user.password = '';\r\n if (data.success) {\r\n toastr.success('更新个人信息成功!');\r\n } else {\r\n toastr.error(data.data, '更新个人信息失败!');\r\n }\r\n });\r\n } else {\r\n modal.hideDimmer();\r\n }\r\n }\r\n}\r\n","html,\r\nbody {\r\n height: 100%;\r\n overflow: hidden;\r\n}\r\n\r\n::-webkit-scrollbar {\r\n width: 6px;\r\n height: 6px;\r\n}\r\n\r\n::-webkit-scrollbar-thumb {\r\n border-radius: 6px;\r\n background-color: #c6c6c6;\r\n}\r\n\r\n::-webkit-scrollbar-thumb:hover {\r\n background: #999;\r\n}\r\n\r\n@media only screen and (min-width: 768px) {\r\n .ui.modal {\r\n &.tms-md450 {\r\n width: 450px!important;\r\n margin-left: -225px!important;\r\n }\r\n &.tms-md510 {\r\n width: 510px!important;\r\n margin-left: -255px!important;\r\n }\r\n &.tms-md540 {\r\n width: 540px!important;\r\n margin-left: -275px!important;\r\n }\r\n }\r\n}\r\n\r\n\r\n/* for swipebox */\r\n\r\n#swipebox-overlay {\r\n background: rgba(13, 13, 13, 0.5)!important;\r\n}\r\n\r\n.keyboard {\r\n background: #fff;\r\n font-weight: 700;\r\n padding: 2px .35rem;\r\n font-size: .8rem;\r\n margin: 0 2px;\r\n border-radius: .25rem;\r\n color: #3d3c40;\r\n border-bottom: 2px solid #9e9ea6;\r\n box-shadow: 0 1px 2px rgba(0, 0, 0, .5);\r\n text-shadow: none;\r\n}\r\n\r\n#nprogress .spinner {\r\n display: none!important;\r\n}\r\n\r\n.tms-dropzone-preview-hidden {\r\n .dz-preview {\r\n display: none!important;\r\n }\r\n}\r\n","code.nx {\r\n background-color: #F8F8F8;\r\n border: 1px solid #EAEAEA;\r\n border-radius: 3px 3px 3px 3px;\r\n margin: 0 2px;\r\n padding: 0 5px;\r\n white-space: nowrap;\r\n}\r\n\r\n.markdown-body {\r\n .pre-code-wrapper {\r\n position: relative;\r\n > i.copy.icon {\r\n display: none;\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n cursor: pointer;\r\n }\r\n &:hover {\r\n > i.copy.icon {\r\n display: block;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.tms-disabled {\r\n cursor: default;\r\n opacity: .45!important;\r\n background-image: none!important;\r\n box-shadow: none!important;\r\n pointer-events: none!important;\r\n}\r\n\r\n.tms-hidden {\r\n display: none!important;\r\n}\r\n\r\n.animated {\r\n -webkit-animation-duration: 1s;\r\n animation-duration: 1s;\r\n -webkit-animation-fill-mode: both;\r\n animation-fill-mode: both;\r\n}\r\n\r\n@keyframes flip {\r\n from {\r\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\r\n transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\r\n -webkit-animation-timing-function: ease-out;\r\n animation-timing-function: ease-out;\r\n }\r\n 40% {\r\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\r\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\r\n -webkit-animation-timing-function: ease-out;\r\n animation-timing-function: ease-out;\r\n }\r\n 50% {\r\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\r\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\r\n -webkit-animation-timing-function: ease-in;\r\n animation-timing-function: ease-in;\r\n }\r\n 80% {\r\n -webkit-transform: perspective(400px) scale3d(.95, .95, .95);\r\n transform: perspective(400px) scale3d(.95, .95, .95);\r\n -webkit-animation-timing-function: ease-in;\r\n animation-timing-function: ease-in;\r\n }\r\n to {\r\n -webkit-transform: perspective(400px);\r\n transform: perspective(400px);\r\n -webkit-animation-timing-function: ease-in;\r\n animation-timing-function: ease-in;\r\n }\r\n}\r\n\r\n.animated.flip {\r\n -webkit-backface-visibility: visible;\r\n backface-visibility: visible;\r\n -webkit-animation-name: flip;\r\n animation-name: flip;\r\n}\r\n\r\n.cbutton {\r\n position: relative;\r\n}\r\n\r\n.cbutton::after {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n margin: -7px 0 0 -7px;\r\n width: 14px;\r\n height: 14px;\r\n border-radius: 50%;\r\n content: '';\r\n opacity: 0;\r\n pointer-events: none;\r\n}\r\n\r\n\r\n/* Novak */\r\n\r\n.cbutton--effect-novak::after {\r\n background: rgba(111, 148, 182, 0.25);\r\n}\r\n\r\n.cbutton--effect-novak.cbutton--click::after {\r\n -webkit-animation: anim-effect-novak 0.5s forwards;\r\n animation: anim-effect-novak 0.5s forwards;\r\n}\r\n\r\n@-webkit-keyframes anim-effect-novak {\r\n 0% {\r\n opacity: 1;\r\n -webkit-transform: scale3d(0.1, 0.1, 1);\r\n transform: scale3d(0.1, 0.1, 1);\r\n }\r\n 100% {\r\n opacity: 0;\r\n -webkit-transform: scale3d(8, 8, 1);\r\n transform: scale3d(30, 30, 1);\r\n }\r\n}\r\n\r\n@keyframes anim-effect-novak {\r\n 0% {\r\n opacity: 1;\r\n -webkit-transform: scale3d(0.1, 0.1, 1);\r\n transform: scale3d(0.1, 0.1, 1);\r\n }\r\n 100% {\r\n opacity: 0;\r\n -webkit-transform: scale3d(8, 8, 1);\r\n transform: scale3d(30, 30, 1);\r\n }\r\n}\r\n\r\n.emoji {\r\n width: 1.5em;\r\n height: 1.5em;\r\n display: inline-block;\r\n margin-bottom: -.25em;\r\n background-size: contain;\r\n}\r\n",".ui.dimmer {\r\n background-color: rgba(0, 0, 0, 0.5)!important;\r\n &.page.modals {\r\n z-index: 10000;\r\n }\r\n}\r\n\r\n.ui.modal {\r\n > .actions {\r\n > .ui.left.floated.button {\r\n margin-left: 3.5px;\r\n }\r\n }\r\n}\r\n\r\n.ui.list .list .item {\r\n display: list-item!important;\r\n table-layout: fixed;\r\n height: auto!important;\r\n visibility: visible!important;\r\n}\r\n\r\n.ui.list .list .item:after {\r\n content: '';\r\n display: block;\r\n height: 0;\r\n clear: both;\r\n visibility: hidden;\r\n}\r\n\r\n#swipebox-bottom-bar,\r\n#swipebox-top-bar {\r\n background: rgba(0, 0, 0, 0.3)!important;\r\n}\r\n","",".tms-chat-direct {\r\n height: 100%;\r\n .ui.comments {\r\n min-height: e(\"calc(100% - 170px)\");\r\n > .comment {\r\n > .content {\r\n display: block!important;\r\n }\r\n }\r\n }\r\n .tms-edit-textarea {\r\n width: 100%;\r\n }\r\n .ui.selection.list>.item {\r\n cursor: default;\r\n }\r\n .ui.search .prompt {\r\n border-radius: .28571429rem;\r\n }\r\n .tms-content {\r\n position: relative;\r\n margin-left: 220px;\r\n top: 60px;\r\n height: e(\"calc(100% - 60px)\");\r\n // display: -webkit-box;\r\n // display: -ms-flexbox;\r\n // display: flex;\r\n // -webkit-box-align: stretch;\r\n // -ms-flex-align: stretch;\r\n // align-items: stretch;\r\n &.tms-sidebar-show {\r\n .tms-right-sidebar {\r\n width: 388px;\r\n border-left: 1px #e9e9e9 solid;\r\n -webkit-transition: width .15s ease-out 0s;\r\n transition: width .15s ease-out 0s;\r\n margin: 4px;\r\n margin-right: 0;\r\n }\r\n }\r\n @media only screen and (max-width: 767px) {\r\n margin-left: 0;\r\n }\r\n .tms-content-body {\r\n .tms-comments-container {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n }\r\n width: 100%;\r\n height: 100%;\r\n max-width: 100%;\r\n // -webkit-box-flex: 1;\r\n // -ms-flex: 1 1 0px;\r\n // flex: 1 1 0;\r\n // display: -webkit-box;\r\n // display: -ms-flexbox;\r\n // display: flex;\r\n // -webkit-box-align: stretch;\r\n // -ms-flex-align: stretch;\r\n // align-items: stretch;\r\n padding-bottom: 73px;\r\n .ui.comments {\r\n overflow: hidden;\r\n // -webkit-box-flex: 1;\r\n // -ms-flex: 1 1 0px;\r\n // flex: 1 1 0;\r\n max-width: none;\r\n margin-bottom: 12px;\r\n margin-top: 10px;\r\n > .ui.basic.button {\r\n display: block;\r\n margin-right: 0;\r\n }\r\n .tms-pre-more {\r\n margin-bottom: 10px;\r\n }\r\n .tms-next-more {\r\n margin-top: 10px;\r\n position: relative;\r\n .ui.icon.button {\r\n position: absolute;\r\n top: 2px;\r\n right: -1px;\r\n }\r\n }\r\n }\r\n .tms-go {\r\n position: fixed;\r\n left: 240px;\r\n .ui.button {\r\n margin: 0;\r\n background-color: rgba(224, 225, 226, 0.5);\r\n &:hover {\r\n background-color: #CACBCD;\r\n }\r\n }\r\n @media only screen and (max-width: 767px) {\r\n left: 20px;\r\n }\r\n }\r\n .tms-go-head {\r\n top: 80px;\r\n }\r\n .tms-go-foot {\r\n bottom: 90px;\r\n }\r\n }\r\n }\r\n .tms-right-sidebar {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n width: 0;\r\n // height: 100%;\r\n bottom: 0;\r\n overflow: hidden;\r\n padding-top: 10px;\r\n padding-bottom: 10px;\r\n .comments {\r\n .ui.button.tms-search-more {\r\n display: block;\r\n margin: 0;\r\n }\r\n .comment {\r\n .markdown-body {\r\n max-height: 65px;\r\n overflow-y: hidden;\r\n &.tms-open {\r\n max-height: none;\r\n overflow-y: auto;\r\n padding-bottom: 20px;\r\n }\r\n }\r\n .tms-btn-open-search-item {\r\n display: none;\r\n height: 25px;\r\n background-color: rgba(0, 0, 0, 0.1);\r\n position: absolute;\r\n bottom: 0;\r\n right: 0;\r\n left: 0;\r\n text-align: center;\r\n padding-top: 2px;\r\n }\r\n &:hover {\r\n .tms-btn-open-search-item {\r\n display: block;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n @media only screen and (max-width: 767px) {\r\n .tms-left-sidebar {\r\n display: none;\r\n }\r\n .tms-right-sidebar {\r\n position: fixed;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n top: 59px;\r\n background-color: white;\r\n margin-left: 0!important;\r\n .panel-chat-msg {\r\n .ui.basic.segment.minimal.selection.list.segment.comments {\r\n padding-left: 0;\r\n padding-right: 0;\r\n }\r\n }\r\n }\r\n .tms-sidebar-show {\r\n .tms-right-sidebar {\r\n width: 100%!important;\r\n }\r\n }\r\n }\r\n .tms-edit-actions {\r\n .left.button {\r\n border-top-left-radius: 0;\r\n }\r\n .right.button {\r\n border-top-right-radius: 0;\r\n }\r\n }\r\n}\r\n\r\n.tms-chat-progress {\r\n position: absolute;\r\n display: inline-block;\r\n top: 60px;\r\n left: 0;\r\n width: 0;\r\n height: 2px;\r\n margin-left: 220px;\r\n background-color: #c6c6c6;\r\n box-shadow: 0px 0px 8px 0px #c6c6c6;\r\n @media only screen and (max-width: 767px) {\r\n margin-left: 0;\r\n }\r\n}\r\n",".markdown-body {\r\n font-size: 14px;\r\n line-height: 1.6;\r\n}\r\n\r\n.markdown-body > br,\r\n.markdown-body ul br .markdown-body ol br {\r\n display: none;\r\n}\r\n\r\n.markdown-body > *:first-child {\r\n margin-top: 0 !important;\r\n}\r\n\r\n.markdown-body > *:last-child {\r\n margin-bottom: 0 !important;\r\n}\r\n\r\n.markdown-body a {\r\n word-break: break-all;\r\n}\r\n\r\n.markdown-body a.absent {\r\n color: #CC0000;\r\n}\r\n\r\n.markdown-body a.anchor {\r\n bottom: 0;\r\n cursor: pointer;\r\n display: block;\r\n left: 0;\r\n margin-left: -30px;\r\n padding-left: 30px;\r\n position: absolute;\r\n top: 0;\r\n}\r\n\r\n.markdown-body h1,\r\n.markdown-body h2,\r\n.markdown-body h3,\r\n.markdown-body h4,\r\n.markdown-body h5,\r\n.markdown-body h6 {\r\n cursor: text;\r\n font-weight: bold;\r\n margin: 20px 0 10px;\r\n padding: 0;\r\n position: relative;\r\n word-break: break-all;\r\n}\r\n\r\n.markdown-body h1 .mini-icon-link,\r\n.markdown-body h2 .mini-icon-link,\r\n.markdown-body h3 .mini-icon-link,\r\n.markdown-body h4 .mini-icon-link,\r\n.markdown-body h5 .mini-icon-link,\r\n.markdown-body h6 .mini-icon-link {\r\n color: #000000;\r\n display: none;\r\n}\r\n\r\n.markdown-body h1:hover a.anchor,\r\n.markdown-body h2:hover a.anchor,\r\n.markdown-body h3:hover a.anchor,\r\n.markdown-body h4:hover a.anchor,\r\n.markdown-body h5:hover a.anchor,\r\n.markdown-body h6:hover a.anchor {\r\n line-height: 1;\r\n margin-left: -22px;\r\n padding-left: 0;\r\n text-decoration: none;\r\n top: 15%;\r\n}\r\n\r\n.markdown-body h1:hover a.anchor .mini-icon-link,\r\n.markdown-body h2:hover a.anchor .mini-icon-link,\r\n.markdown-body h3:hover a.anchor .mini-icon-link,\r\n.markdown-body h4:hover a.anchor .mini-icon-link,\r\n.markdown-body h5:hover a.anchor .mini-icon-link,\r\n.markdown-body h6:hover a.anchor .mini-icon-link {\r\n display: inline-block;\r\n}\r\n\r\n.markdown-body h1 tt,\r\n.markdown-body h1 code,\r\n.markdown-body h2 tt,\r\n.markdown-body h2 code,\r\n.markdown-body h3 tt,\r\n.markdown-body h3 code,\r\n.markdown-body h4 tt,\r\n.markdown-body h4 code,\r\n.markdown-body h5 tt,\r\n.markdown-body h5 code,\r\n.markdown-body h6 tt,\r\n.markdown-body h6 code {\r\n font-size: inherit;\r\n}\r\n\r\n.markdown-body h1 {\r\n color: #000000;\r\n font-size: 28px;\r\n}\r\n\r\n.markdown-body h2 {\r\n border-bottom: 1px solid #CCCCCC;\r\n color: #000000;\r\n font-size: 24px;\r\n}\r\n\r\n.markdown-body h3 {\r\n font-size: 18px;\r\n}\r\n\r\n.markdown-body h4 {\r\n font-size: 16px;\r\n}\r\n\r\n.markdown-body h5 {\r\n font-size: 14px;\r\n}\r\n\r\n.markdown-body h6 {\r\n color: #777777;\r\n font-size: 14px;\r\n}\r\n\r\n.markdown-body p,\r\n.markdown-body blockquote,\r\n.markdown-body ul,\r\n.markdown-body ol,\r\n.markdown-body dl,\r\n.markdown-body table,\r\n.markdown-body pre {\r\n margin: 15px 0;\r\n}\r\n\r\n.markdown-body hr {\r\n overflow: hidden;\r\n background: 0 0\r\n}\r\n\r\n.markdown-body hr:before {\r\n display: table;\r\n content: \"\"\r\n}\r\n\r\n.markdown-body hr:after {\r\n display: table;\r\n clear: both;\r\n content: \"\"\r\n}\r\n\r\n.markdown-body hr {\r\n height: 4px;\r\n padding: 0;\r\n margin: 16px 0;\r\n background-color: #e7e7e7;\r\n border: 0\r\n}\r\n\r\n.markdown-body hr {\r\n -moz-box-sizing: content-box;\r\n box-sizing: content-box\r\n}\r\n\r\n.markdown-body > h2:first-child,\r\n.markdown-body > h1:first-child,\r\n.markdown-body > h1:first-child + h2,\r\n.markdown-body > h3:first-child,\r\n.markdown-body > h4:first-child,\r\n.markdown-body > h5:first-child,\r\n.markdown-body > h6:first-child {\r\n margin-top: 0;\r\n padding-top: 0;\r\n}\r\n\r\n.markdown-body a:first-child h1,\r\n.markdown-body a:first-child h2,\r\n.markdown-body a:first-child h3,\r\n.markdown-body a:first-child h4,\r\n.markdown-body a:first-child h5,\r\n.markdown-body a:first-child h6 {\r\n margin-top: 0;\r\n padding-top: 0;\r\n}\r\n\r\n.markdown-body h1 + p,\r\n.markdown-body h2 + p,\r\n.markdown-body h3 + p,\r\n.markdown-body h4 + p,\r\n.markdown-body h5 + p,\r\n.markdown-body h6 + p {\r\n margin-top: 0;\r\n}\r\n\r\n.markdown-body li p.first {\r\n display: inline-block;\r\n}\r\n\r\n.markdown-body ul,\r\n.markdown-body ol {\r\n padding-left: 30px;\r\n}\r\n\r\n.markdown-body ul.no-list,\r\n.markdown-body ol.no-list {\r\n list-style-type: none;\r\n padding: 0;\r\n}\r\n\r\n.markdown-body ul li > *:first-child,\r\n.markdown-body ol li > *:first-child {\r\n margin-top: 0;\r\n}\r\n\r\n.markdown-body ul ul,\r\n.markdown-body ul ol,\r\n.markdown-body ol ol,\r\n.markdown-body ol ul {\r\n margin-bottom: 0;\r\n}\r\n\r\n.markdown-body dl {\r\n padding: 0;\r\n}\r\n\r\n.markdown-body dl dt {\r\n font-size: 14px;\r\n font-style: italic;\r\n font-weight: bold;\r\n margin: 15px 0 5px;\r\n padding: 0;\r\n}\r\n\r\n.markdown-body dl dt:first-child {\r\n padding: 0;\r\n}\r\n\r\n.markdown-body dl dt > *:first-child {\r\n margin-top: 0;\r\n}\r\n\r\n.markdown-body dl dt > *:last-child {\r\n margin-bottom: 0;\r\n}\r\n\r\n.markdown-body dl dd {\r\n margin: 0 0 15px;\r\n padding: 0 15px;\r\n}\r\n\r\n.markdown-body dl dd > *:first-child {\r\n margin-top: 0;\r\n}\r\n\r\n.markdown-body dl dd > *:last-child {\r\n margin-bottom: 0;\r\n}\r\n\r\n.markdown-body blockquote {\r\n border-left: 4px solid #DDDDDD;\r\n color: #777777;\r\n padding: 0 15px;\r\n}\r\n\r\n.markdown-body blockquote > *:first-child {\r\n margin-top: 0;\r\n}\r\n\r\n.markdown-body blockquote > *:last-child {\r\n margin-bottom: 0;\r\n}\r\n\r\n.markdown-body table th {\r\n font-weight: bold;\r\n}\r\n\r\n.markdown-body table th,\r\n.markdown-body table td {\r\n border: 1px solid #CCCCCC;\r\n padding: 6px 13px;\r\n}\r\n\r\n.markdown-body table tr {\r\n background-color: #FFFFFF;\r\n border-top: 1px solid #CCCCCC;\r\n}\r\n\r\n.markdown-body table tr:nth-child(2n) {\r\n background-color: #F8F8F8;\r\n}\r\n\r\n.markdown-body img {\r\n max-width: 100%;\r\n}\r\n\r\n.markdown-body span.frame {\r\n display: block;\r\n overflow: hidden;\r\n}\r\n\r\n.markdown-body span.frame > span {\r\n border: 1px solid #DDDDDD;\r\n display: block;\r\n float: left;\r\n margin: 13px 0 0;\r\n overflow: hidden;\r\n padding: 7px;\r\n width: auto;\r\n}\r\n\r\n.markdown-body span.frame span img {\r\n display: block;\r\n float: left;\r\n}\r\n\r\n.markdown-body span.frame span span {\r\n clear: both;\r\n color: #333333;\r\n display: block;\r\n padding: 5px 0 0;\r\n}\r\n\r\n.markdown-body span.align-center {\r\n clear: both;\r\n display: block;\r\n overflow: hidden;\r\n}\r\n\r\n.markdown-body span.align-center > span {\r\n display: block;\r\n margin: 13px auto 0;\r\n overflow: hidden;\r\n text-align: center;\r\n}\r\n\r\n.markdown-body span.align-center span img {\r\n margin: 0 auto;\r\n text-align: center;\r\n}\r\n\r\n.markdown-body span.align-right {\r\n clear: both;\r\n display: block;\r\n overflow: hidden;\r\n}\r\n\r\n.markdown-body span.align-right > span {\r\n display: block;\r\n margin: 13px 0 0;\r\n overflow: hidden;\r\n text-align: right;\r\n}\r\n\r\n.markdown-body span.align-right span img {\r\n margin: 0;\r\n text-align: right;\r\n}\r\n\r\n.markdown-body span.float-left {\r\n display: block;\r\n float: left;\r\n margin-right: 13px;\r\n overflow: hidden;\r\n}\r\n\r\n.markdown-body span.float-left span {\r\n margin: 13px 0 0;\r\n}\r\n\r\n.markdown-body span.float-right {\r\n display: block;\r\n float: right;\r\n margin-left: 13px;\r\n overflow: hidden;\r\n}\r\n\r\n.markdown-body span.float-right > span {\r\n display: block;\r\n margin: 13px auto 0;\r\n overflow: hidden;\r\n text-align: right;\r\n}\r\n\r\n.markdown-body code,\r\n.markdown-body tt {\r\n background-color: #F8F8F8;\r\n border: 1px solid #EAEAEA;\r\n border-radius: 3px 3px 3px 3px;\r\n margin: 0 2px;\r\n padding: 0 5px;\r\n /* white-space: nowrap; */\r\n white-space: normal;\r\n word-break: break-all;\r\n}\r\n\r\n.markdown-body pre > code {\r\n background: none repeat scroll 0 0 transparent;\r\n border: medium none;\r\n margin: 0;\r\n padding: 0;\r\n white-space: pre;\r\n}\r\n\r\n.markdown-body .highlight pre,\r\n.markdown-body pre {\r\n background-color: #F8F8F8;\r\n border: 1px solid #CCCCCC;\r\n border-radius: 3px 3px 3px 3px;\r\n font-size: 13px;\r\n line-height: 19px;\r\n overflow: auto;\r\n padding: 6px 10px;\r\n}\r\n\r\n.markdown-body pre code,\r\n.markdown-body pre tt {\r\n background-color: transparent;\r\n border: medium none;\r\n}\r\n","/*************** SCROLLBAR BASE CSS ***************/\r\n\r\n.scroll-wrapper {\r\n overflow: hidden !important;\r\n padding: 0 !important;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n.scroll-wrapper > .scroll-content {\r\n border: none !important;\r\n box-sizing: content-box !important;\r\n height: auto;\r\n left: 0;\r\n margin: 0;\r\n max-height: none;\r\n max-width: none !important;\r\n overflow: scroll !important;\r\n padding: 0;\r\n position: relative !important;\r\n top: 0;\r\n width: auto !important;\r\n}\r\n\r\n.scroll-wrapper > .scroll-content::-webkit-scrollbar {\r\n height: 0;\r\n width: 0;\r\n}\r\n\r\n.scroll-element {\r\n display: none;\r\n}\r\n\r\n.scroll-element,\r\n.scroll-element div {\r\n box-sizing: content-box;\r\n}\r\n\r\n.scroll-element.scroll-x.scroll-scrollx_visible,\r\n.scroll-element.scroll-y.scroll-scrolly_visible {\r\n display: block;\r\n}\r\n\r\n.scroll-element .scroll-bar,\r\n.scroll-element .scroll-arrow {\r\n cursor: default;\r\n}\r\n\r\n.scroll-textarea {\r\n border: 1px solid #cccccc;\r\n border-top-color: #999999;\r\n}\r\n\r\n.scroll-textarea > .scroll-content {\r\n overflow: hidden !important;\r\n}\r\n\r\n.scroll-textarea > .scroll-content > textarea {\r\n border: none !important;\r\n box-sizing: border-box;\r\n height: 100% !important;\r\n margin: 0;\r\n max-height: none !important;\r\n max-width: none !important;\r\n overflow: scroll !important;\r\n outline: none;\r\n padding: 2px;\r\n position: relative !important;\r\n top: 0;\r\n width: 100% !important;\r\n}\r\n\r\n.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar {\r\n height: 0;\r\n width: 0;\r\n}\r\n\r\n\r\n/*************** SIMPLE OUTER SCROLLBAR ***************/\r\n\r\n.scrollbar-outer > .scroll-element,\r\n.scrollbar-outer > .scroll-element div {\r\n border: none;\r\n margin: 0;\r\n padding: 0;\r\n position: absolute;\r\n z-index: 10;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element {\r\n background-color: #ffffff;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element div {\r\n display: block;\r\n height: 100%;\r\n left: 0;\r\n top: 0;\r\n width: 100%;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-x {\r\n bottom: 0;\r\n height: 12px;\r\n left: 0;\r\n width: 100%;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-y {\r\n height: 100%;\r\n right: 0;\r\n top: 0;\r\n width: 12px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-x .scroll-element_outer {\r\n height: 8px;\r\n top: 2px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-y .scroll-element_outer {\r\n left: 2px;\r\n width: 8px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element .scroll-element_outer {\r\n overflow: hidden;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element .scroll-element_track {\r\n background-color: #eeeeee;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element .scroll-element_outer,\r\n.scrollbar-outer > .scroll-element .scroll-element_track,\r\n.scrollbar-outer > .scroll-element .scroll-bar {\r\n -webkit-border-radius: 8px;\r\n -moz-border-radius: 8px;\r\n border-radius: 8px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element .scroll-bar {\r\n background-color: #d9d9d9;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element .scroll-bar:hover {\r\n background-color: #c2c2c2;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-draggable .scroll-bar {\r\n background-color: #919191;\r\n}\r\n\r\n\r\n/* scrollbar height/width & offset from container borders */\r\n\r\n.scrollbar-outer > .scroll-content.scroll-scrolly_visible {\r\n left: -12px;\r\n margin-left: 12px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-content.scroll-scrollx_visible {\r\n top: -12px;\r\n margin-top: 12px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-x .scroll-bar {\r\n min-width: 10px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-y .scroll-bar {\r\n min-height: 10px;\r\n}\r\n\r\n\r\n/* update scrollbar offset if both scrolls are visible */\r\n\r\n.scrollbar-outer > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {\r\n left: -14px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {\r\n top: -14px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {\r\n left: -14px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {\r\n top: -14px;\r\n}\r\n\r\n\r\n/*************** SCROLLBAR MAC OS X ***************/\r\n\r\n.scrollbar-macosx > .scroll-element,\r\n.scrollbar-macosx > .scroll-element div {\r\n background: none;\r\n border: none;\r\n margin: 0;\r\n padding: 0;\r\n position: absolute;\r\n z-index: 10;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element div {\r\n display: block;\r\n height: 100%;\r\n left: 0;\r\n top: 0;\r\n width: 100%;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element .scroll-element_track {\r\n display: none;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element .scroll-bar {\r\n background-color: #6C6E71;\r\n display: block;\r\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\r\n filter: alpha(opacity=0);\r\n opacity: 0;\r\n -webkit-border-radius: 7px;\r\n -moz-border-radius: 7px;\r\n border-radius: 7px;\r\n -webkit-transition: opacity 0.2s linear;\r\n -moz-transition: opacity 0.2s linear;\r\n -o-transition: opacity 0.2s linear;\r\n -ms-transition: opacity 0.2s linear;\r\n transition: opacity 0.2s linear;\r\n}\r\n\r\n.scrollbar-macosx:hover > .scroll-element .scroll-bar,\r\n.scrollbar-macosx > .scroll-element.scroll-draggable .scroll-bar {\r\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)\";\r\n filter: alpha(opacity=70);\r\n opacity: 0.7;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-x {\r\n bottom: 0px;\r\n height: 0px;\r\n left: 0;\r\n min-width: 100%;\r\n overflow: visible;\r\n width: 100%;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-y {\r\n height: 100%;\r\n min-height: 100%;\r\n right: 0px;\r\n top: 0;\r\n width: 0px;\r\n}\r\n\r\n\r\n/* scrollbar height/width & offset from container borders */\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-x .scroll-bar {\r\n height: 7px;\r\n min-width: 10px;\r\n top: -9px;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-y .scroll-bar {\r\n left: -9px;\r\n min-height: 10px;\r\n width: 7px;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-x .scroll-element_outer {\r\n left: 2px;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-x .scroll-element_size {\r\n left: -4px;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-y .scroll-element_outer {\r\n top: 2px;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-y .scroll-element_size {\r\n top: -4px;\r\n}\r\n\r\n\r\n/* update scrollbar offset if both scrolls are visible */\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {\r\n left: -11px;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {\r\n top: -11px;\r\n}\r\n",".tms-user-login {\r\n width: 100%;\r\n min-height: 100%;\r\n background-color: #5a3636;\r\n overflow: hidden;\r\n .container {\r\n width: 300px;\r\n top: 50px;\r\n margin-left: auto;\r\n margin-right: auto;\r\n position: relative;\r\n }\r\n h2 {\r\n color: rgba(197, 164, 164, 0.8)!important;\r\n }\r\n .ui.form {\r\n background-color: #353131;\r\n }\r\n .ui.error.message {\r\n background-color: #5a3636;\r\n }\r\n .ui.error.message .header {\r\n color: #e0b4b4;\r\n }\r\n .ui.checkbox label {\r\n color: #ad8b8b;\r\n }\r\n .ui.checkbox input:focus~label {\r\n color: #ad8b8b;\r\n }\r\n .ui.checkbox label:hover {\r\n color: #ad8b8b;\r\n }\r\n .ui.button {\r\n background-color: #5a3636;\r\n color: #ad8b75;\r\n }\r\n}\r\n",".tms-user-pwd-reset {\r\n height: 100%;\r\n .tms-flex {\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n}\r\n",".tms-user-register {\r\n height: 100%;\r\n .tms-flex {\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n}",".em-blog-comment-popup {}",".em-blog-comment-share {\r\n &.ui.popup {\r\n max-width: 100%;\r\n width: 255px;\r\n .ui.input {\r\n width: 225px;\r\n }\r\n textarea {\r\n /* width: 195px!important; */\r\n }\r\n .ui.search>.results .result {\r\n cursor: pointer!important;\r\n display: block!important;\r\n color: rgba(0, 0, 0, .87)!important;\r\n border-bottom: 1px solid rgba(34, 36, 38, .1)!important;\r\n margin: 0!important;\r\n }\r\n .ui.list {\r\n > .item {\r\n color: rgba(0, 0, 0, .87);\r\n }\r\n }\r\n }\r\n &:after {\r\n content: '';\r\n clear: both;\r\n }\r\n .footer {\r\n margin-top: 16px;\r\n .btn-cancel {\r\n float: right;\r\n margin: 6px 0 0 8px!important;\r\n }\r\n }\r\n}\r\n",".em-blog-comment {\r\n margin-top: 32px;\r\n margin-bottom: 32px;\r\n .ui.comments {\r\n > .ui.dividing.header {\r\n margin-bottom: 0;\r\n }\r\n max-width: 100%;\r\n .comment {\r\n margin-top: 0;\r\n &:hover {\r\n background: rgba(0, 0, 0, .03);\r\n color: rgba(0, 0, 0, .8);\r\n .content {\r\n .tools {\r\n display: block;\r\n }\r\n }\r\n &:before {\r\n width: 4px;\r\n }\r\n }\r\n > .ui.divider {\r\n margin-bottom: 0;\r\n }\r\n .content {\r\n .actions {}\r\n .tms-blog-comment-edit-textarea {\r\n width: 100%;\r\n }\r\n .textcomplete-container {\r\n position: relative;\r\n .append-to {\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n }\r\n }\r\n > .tools {\r\n position: absolute;\r\n right: 0;\r\n bottom: 0;\r\n display: none;\r\n > .ui.button {\r\n margin: 0;\r\n background-color: rgba(224, 225, 226, 0.5);\r\n &:hover {\r\n background-color: rgba(224, 225, 226, 1);\r\n }\r\n }\r\n }\r\n }\r\n &.active {\r\n background-color: #f5f5f5;\r\n &:before {\r\n width: 4px;\r\n }\r\n }\r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n z-index: -1;\r\n top: -2px;\r\n left: -4px;\r\n bottom: 1px;\r\n background: #2098D1;\r\n width: 0;\r\n -webkit-transition-property: width;\r\n transition-property: width;\r\n -webkit-transition-duration: 0.3s;\r\n transition-duration: 0.3s;\r\n -webkit-transition-timing-function: ease-out;\r\n transition-timing-function: ease-out;\r\n }\r\n &:nth-child(2) {\r\n &:before {\r\n top: -1px;\r\n }\r\n }\r\n }\r\n }\r\n .CodeMirror {\r\n min-height: 60px;\r\n }\r\n .CodeMirror-scroll {\r\n min-height: 60px;\r\n }\r\n .dropzone {\r\n position: relative;\r\n .tms-blog-comment-status-bar-wrapper {\r\n position: relative;\r\n width: 100%;\r\n height: 0;\r\n .tms-blog-comment-status-bar {\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n }\r\n .dropzone-previews {\r\n position: absolute;\r\n left: 0;\r\n bottom: -7px;\r\n width: 100%;\r\n .dz-preview {\r\n width: 100%;\r\n margin: 0;\r\n .dz-progress {\r\n height: 2px;\r\n background-color: #aaa;\r\n border: none;\r\n }\r\n .dz-remove {\r\n display: none;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n",".em-blog-content {\r\n transition: width 0.15s ease-out 0s;\r\n .right-sidebar-show & {\r\n width: e(\"calc(100% - 600px)\")!important;\r\n @media only screen and (max-width: 767px) {\r\n width: 100%!important;\r\n }\r\n }\r\n @media only screen and (max-width: 767px) {\r\n left: 0;\r\n width: 100%!important;\r\n }\r\n // z-index: 103;\r\n position: fixed;\r\n top: 55px;\r\n left: 300px;\r\n width: e(\"calc(100% - 300px)\")!important;\r\n height: e(\"calc(100% - 55px)\")!important;\r\n padding: 16px;\r\n overflow: auto;\r\n > .header {\r\n .ui.header {\r\n .sub.header {\r\n color: #707070;\r\n font-size: 12px;\r\n margin-top: 8px;\r\n a.author {\r\n cursor: pointer;\r\n }\r\n .readCnt {\r\n cursor: pointer;\r\n margin-left: 16px;\r\n a {\r\n cursor: pointer;\r\n }\r\n }\r\n .commentCnt {\r\n cursor: pointer;\r\n margin-left: 16px;\r\n a {\r\n cursor: pointer;\r\n }\r\n }\r\n }\r\n }\r\n margin-bottom: 24px;\r\n }\r\n .topbar {\r\n position: relative;\r\n height: 30px;\r\n margin-bottom: 8px;\r\n > .ui.breadcrumb {\r\n line-height: 30px;\r\n }\r\n &:after {\r\n content: '';\r\n clear: both;\r\n }\r\n .actions {\r\n float: right;\r\n > .ui.basic.button {\r\n padding: 8px;\r\n box-shadow: none;\r\n &:hover {\r\n box-shadow: 0 0 0 1px rgba(34, 36, 38, .35) inset, 0 0 0 0 rgba(34, 36, 38, .15) inset;\r\n }\r\n > i.icon {\r\n margin-right: 2px;\r\n &.hide {\r\n position: relative;\r\n top: -1px;\r\n }\r\n &.unhide {\r\n position: relative;\r\n top: -1px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n > .ui.message {\r\n .content {\r\n > span {\r\n display: inline-block;\r\n margin-top: 10px;\r\n }\r\n .ui.button {\r\n position: relative;\r\n top: -5px;\r\n left: 10px;\r\n }\r\n }\r\n }\r\n .footer {\r\n margin-top: 16px;\r\n > span {\r\n font-size: 12px;\r\n }\r\n .rate {\r\n margin-right: 16px;\r\n cursor: pointer;\r\n color: #4183c4;\r\n }\r\n > .tags {\r\n float: right;\r\n .ui.selection.dropdown {\r\n border: none;\r\n &:hover {\r\n box-shadow: 0 0px 1px 0px #2185d0;\r\n }\r\n }\r\n }\r\n &:after {\r\n content: '';\r\n clear: both;\r\n display: block;\r\n }\r\n }\r\n > .ui.feed {\r\n margin-bottom: 25px!important;\r\n > .event {\r\n position: relative;\r\n &.opened {\r\n > .content .extra.text {\r\n &:hover {\r\n max-height: none;\r\n overflow-y: auto;\r\n padding-bottom: 25px;\r\n }\r\n }\r\n }\r\n >.label+.content {\r\n max-width: e(\"calc(100% - 50px)\");\r\n }\r\n > .content .extra.text {\r\n position: relative;\r\n max-width: none;\r\n min-height: 25px;\r\n max-height: 60px;\r\n overflow-y: hidden;\r\n &:hover {\r\n > .btn-open {\r\n display: block;\r\n }\r\n }\r\n > .btn-open {\r\n display: none;\r\n height: 25px;\r\n background-color: rgba(0, 0, 0, 0.1);\r\n position: absolute;\r\n bottom: 0;\r\n right: 0;\r\n left: 0;\r\n text-align: center;\r\n padding-top: 2px;\r\n }\r\n pre {\r\n white-space: pre-wrap;\r\n white-space: -moz-pre-wrap;\r\n white-space: -pre-wrap;\r\n white-space: -o-pre-wrap;\r\n word-wrap: break-word;\r\n word-break: break-all;\r\n }\r\n }\r\n &.active {\r\n background: rgba(0, 0, 0, .03);\r\n &:before {\r\n width: 4px;\r\n }\r\n }\r\n &:hover {\r\n background: rgba(0, 0, 0, .03);\r\n &:before {\r\n width: 4px;\r\n }\r\n }\r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n top: 0;\r\n left: -4px;\r\n bottom: 0;\r\n background: #2098D1;\r\n width: 0;\r\n -webkit-transition-property: width;\r\n transition-property: width;\r\n -webkit-transition-duration: 0.3s;\r\n transition-duration: 0.3s;\r\n -webkit-transition-timing-function: ease-out;\r\n transition-timing-function: ease-out;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.tms-blog-progress {\r\n position: absolute;\r\n display: inline-block;\r\n top: 55px;\r\n left: 0;\r\n width: 0;\r\n height: 2px;\r\n margin-left: 300px;\r\n background-color: #2185d0;\r\n box-shadow: 0px 0px 8px 0px #205081;\r\n @media only screen and (max-width: 767px) {\r\n margin-left: 0;\r\n }\r\n}\r\n\r\n.em-blog-content-wrapper {\r\n position: fixed;\r\n top: 55px;\r\n width: e(\"calc(100vw)\")!important;\r\n height: e(\"calc(100% - 55px)\")!important;\r\n}\r\n\r\n@media only screen and (max-width: 767px) {\r\n .tms-blog {\r\n &.left-sidebar-show {\r\n .em-blog-content-wrapper {\r\n > .ui.dimmer {\r\n display: block;\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n &.right-sidebar-show {\r\n .em-blog-content-wrapper {\r\n > .ui.dimmer {\r\n display: block;\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n .em-blog-content-wrapper {\r\n > .ui.dimmer {\r\n display: none;\r\n }\r\n }\r\n }\r\n}\r\n",".em-blog-history-diff {\r\n > .content {\r\n max-height: 300px;\r\n overflow-y: auto;\r\n }\r\n}\r\n",".em-blog-history-view {\r\n > .topbar {\r\n margin-bottom: 16px;\r\n }\r\n > .content {\r\n max-height: 300px;\r\n overflow-y: auto;\r\n }\r\n}\r\n",".em-blog-history {\r\n > .topbar {\r\n margin-bottom: 16px;\r\n }\r\n > .content {\r\n max-height: 300px;\r\n overflow-y: auto;\r\n }\r\n .ui.table {\r\n td a {\r\n cursor: pointer;\r\n }\r\n }\r\n}\r\n",".em-blog-left-sidebar {\r\n &.ui.left.sidebar {\r\n transition: left 0.15s ease-out 0s;\r\n @media only screen and (max-width: 767px) {\r\n z-index: 104;\r\n &.mobile-hide {\r\n // width: 0;\r\n left: -300px;\r\n }\r\n }\r\n width: 300px;\r\n top: 55px;\r\n left: 0;\r\n height: e(\"calc(100% - 55px)\")!important;\r\n background-color: #f5f5f5;\r\n box-shadow: none!important;\r\n .tms-body {\r\n .ui.space.list {\r\n padding: 16px;\r\n padding-left: 15px;\r\n margin-bottom: 0px;\r\n padding-bottom: 8px;\r\n > .item {\r\n position: relative;\r\n &:hover {\r\n box-shadow: 0px 0px 2px -1px #5791cb;\r\n > .actions {\r\n display: inline-block;\r\n }\r\n }\r\n > .icon {\r\n padding-right: 0;\r\n position: relative;\r\n top: -1px;\r\n }\r\n > .content {\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n max-width: 245px;\r\n }\r\n > .actions {\r\n display: none;\r\n position: absolute;\r\n right: 0;\r\n top: -2px;\r\n }\r\n }\r\n .ui.bulleted.list {\r\n padding-left: 16px;\r\n > div.item {\r\n max-width: 220px;\r\n padding-top: 5px;\r\n padding-bottom: 5px;\r\n > a {\r\n display: block;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n min-width: 220px;\r\n }\r\n &:before {\r\n color: #999;\r\n }\r\n &.active {\r\n font-weight: bold;\r\n > a {\r\n color: black;\r\n }\r\n }\r\n &:hover {\r\n // box-shadow: 0px 0px 2px -1px #5791cb;\r\n background-color: rgba(232, 224, 224, 0.5);\r\n }\r\n &.aurelia-hide {\r\n display: none!important;\r\n }\r\n }\r\n }\r\n }\r\n .ui.bulleted.list.no-space {\r\n padding: 20px;\r\n margin-top: 0px;\r\n padding-top: 0px;\r\n > div.item {\r\n padding-top: 5px;\r\n padding-bottom: 5px;\r\n > a {\r\n display: block;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n min-width: 242px;\r\n }\r\n &:before {\r\n color: #999;\r\n }\r\n &.active {\r\n font-weight: bold;\r\n > a {\r\n color: black;\r\n }\r\n }\r\n &:hover {\r\n // box-shadow: 0px 0px 2px -1px #5791cb;\r\n background-color: rgba(232, 224, 224, 0.5);\r\n }\r\n }\r\n }\r\n height: e(\"calc(100% - 40px)\")!important;\r\n }\r\n .tms-footer {\r\n position: absolute;\r\n width: 100%;\r\n height: 40px;\r\n left: 0;\r\n bottom: 0;\r\n background-color: #efe4e4;\r\n .ui.menu {\r\n border: none;\r\n border-radius: 0;\r\n background-color: #e8e0e0;\r\n > .item {\r\n &.tms-search {\r\n position: relative;\r\n height: 40px;\r\n max-width: 207px;\r\n &:before {\r\n width: 0;\r\n }\r\n > .remove.icon {\r\n position: absolute;\r\n right: 5px;\r\n top: 13px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n",".em-blog-right-sidebar {\r\n width: 300px;\r\n background-color: #f5f5f5;\r\n position: fixed;\r\n top: 55px;\r\n right: -300px;\r\n height: e(\"calc(100% - 55px)\");\r\n transition: right 0.15s ease-out 0s;\r\n .right-sidebar-show & {\r\n right: 0;\r\n }\r\n .panel-blog-dir {\r\n padding: 16px;\r\n .wiki-dir-item {\r\n &.active {\r\n background-color: #e8e0e0;\r\n }\r\n }\r\n }\r\n}\r\n",".em-blog-save {}",".em-blog-share {\r\n &.ui.popup {\r\n max-width: 100%;\r\n width: 255px;\r\n .ui.input {\r\n width: 225px;\r\n }\r\n }\r\n &:after {\r\n content: '';\r\n clear: both;\r\n }\r\n .footer {\r\n margin-top: 16px;\r\n .btn-cancel {\r\n float: right;\r\n margin-top: 6px;\r\n margin-left: 8px;\r\n }\r\n }\r\n}\r\n",".em-blog-space-auth {\r\n > .ui.form {\r\n margin-bottom: 16px;\r\n }\r\n .tms-header {\r\n margin-bottom: 8px;\r\n }\r\n .ui.search .prompt {\r\n border-radius: .28571429rem;\r\n }\r\n}\r\n",".em-blog-space-create {\r\n &.ui.popup {\r\n .ui.form {\r\n width: 260px;\r\n }\r\n }\r\n}\r\n",".em-blog-space-edit {}",".em-blog-space-update {}",".em-blog-top-menu {\r\n &.ui.inverted.blue.menu {\r\n background-color: #205081;\r\n height: 55px;\r\n z-index: 103;\r\n .item {\r\n &.tms-toggle {\r\n display: none;\r\n i.icon {\r\n margin-right: 0;\r\n }\r\n }\r\n &.tms-links {\r\n i.icon {\r\n margin-right: 0;\r\n }\r\n }\r\n }\r\n .right.menu {\r\n .item {\r\n .ui.icon.input {\r\n input {\r\n background-color: #103a65;\r\n color: white;\r\n &:focus {\r\n border-color: rgba(34, 36, 38, .15);\r\n box-shadow: none;\r\n }\r\n }\r\n i.icon.search:before {\r\n color: #a3aab0;\r\n }\r\n }\r\n .ui.search>.results {\r\n max-height: 350px;\r\n overflow-y: auto;\r\n left: -150px;\r\n }\r\n }\r\n }\r\n @media only screen and (max-width: 767px) {\r\n .item {\r\n &.tms-links {\r\n display: none;\r\n }\r\n &.tms-logo {\r\n display: none;\r\n }\r\n &.header {\r\n display: none;\r\n }\r\n &.tms-toggle {\r\n display: flex;\r\n }\r\n }\r\n .right.menu {\r\n .item {\r\n .ui.search {\r\n .ui.input {\r\n width: 100px;\r\n }\r\n }\r\n }\r\n }\r\n &.search-focus {\r\n .tms-logo {\r\n display: none;\r\n }\r\n .tms-create {\r\n display: none;\r\n }\r\n .right.menu {\r\n .item {\r\n .ui.search {\r\n .ui.input {\r\n width: initial;\r\n transition: width 0.15s ease-out 0s;\r\n }\r\n }\r\n }\r\n .tms-login-user {\r\n display: none;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","@top: 15px;\r\n.modaal-wrapper .modaal-close {\r\n @media only screen and (max-width: 827px) {\r\n top: initial!important;\r\n bottom: 10px;\r\n z-index: 2;\r\n }\r\n}\r\n\r\n.em-blog-write {\r\n margin-top: -30px;\r\n margin-bottom: 20px;\r\n > .wrapper {\r\n max-width: 768px;\r\n margin: auto;\r\n > .title {\r\n position: fixed;\r\n z-index: 2;\r\n margin-bottom: 8px;\r\n width: e(\"calc(100% - 60px)\");\r\n @media only screen and (min-width: 828px) {\r\n width: 768px;\r\n }\r\n background-color: white;\r\n padding-top: @top + 3px;\r\n box-shadow: 0px 1px 0px 0px #dddddd;\r\n > .ui.input {\r\n padding-right: 80px;\r\n }\r\n > .ui.button {\r\n position: absolute;\r\n right: 0;\r\n top: @top;\r\n }\r\n }\r\n > .content {\r\n padding-top: @top + 45px;\r\n .editor-toolbar {\r\n &.fullscreen {\r\n z-index: 800;\r\n }\r\n }\r\n }\r\n }\r\n .dropzone {\r\n .dropzone-previews {\r\n position: absolute;\r\n top: @top + 33px;\r\n width: 100%;\r\n .dz-preview {\r\n width: 100%;\r\n margin: 0;\r\n .dz-progress {\r\n height: 2px;\r\n background-color: #aaa;\r\n border: none;\r\n }\r\n .dz-remove {\r\n display: none;\r\n }\r\n }\r\n }\r\n position: relative;\r\n }\r\n .tms-blog-write-status-bar-wrapper {\r\n position: fixed;\r\n z-index: 800;\r\n height: 0;\r\n top: 120px;\r\n width: e(\"calc(100% - 60px)\");\r\n @media only screen and (min-width: 828px) {\r\n width: 768px;\r\n }\r\n .tms-blog-write-status-bar {\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n }\r\n }\r\n}\r\n",".em-chat-attach {\r\n &.ui.basic.segment {\r\n margin-bottom: 0;\r\n padding-top: 0;\r\n }\r\n .ui.basic.button {\r\n display: block;\r\n margin-right: 0;\r\n }\r\n .ui.list {\r\n .description {\r\n font-size: 12px;\r\n margin-top: 3px;\r\n }\r\n }\r\n &.ui.menu {\r\n \tmargin-top: 0;\r\n display: -webkit-box;\r\n display: -ms-flexbox;\r\n display: flex;\r\n > .item {\r\n -webkit-box-flex: 1;\r\n -ms-flex: 1;\r\n flex: 1;\r\n display: block!important;\r\n text-align: center;\r\n }\r\n }\r\n &.tms-attach-search-input {\r\n \tpadding: 0 10px;\r\n }\r\n}\r\n",".tms-em-chat-channel-create {\r\n .tms-join {\r\n max-height: 315px;\r\n overflow-y: auto;\r\n }\r\n .ui.form {\r\n > .field {\r\n > label {\r\n width: 35px!important;\r\n }\r\n }\r\n }\r\n}\r\n",".tms-em-chat-channel-link-mgr {\r\n .ui.form {\r\n .one.wide.field {\r\n @media only screen and (min-width: 768px) {\r\n padding: 0;\r\n }\r\n }\r\n }\r\n}\r\n",".tms-em-chat-channel-members-mgr {\r\n .ui.dropdown {\r\n span.owner + i.delete.icon {\r\n display: none;\r\n }\r\n span.disabled-user {\r\n text-decoration: line-through;\r\n font-style: italic;\r\n }\r\n }\r\n .member-table {\r\n max-height: 315px;\r\n overflow-y: auto;\r\n }\r\n}\r\n",".em-chat-channel-members-show {\r\n max-height: 300px;\r\n overflow-y: auto;\r\n}\r\n",".em-chat-content-item {\r\n .textcomplete-container {\r\n position: relative;\r\n .append-to {\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n }\r\n }\r\n .ui.comments &.comment {\r\n >.avatar~.content {\r\n margin-left: 3em;\r\n }\r\n .actions {\r\n > a {\r\n margin-right: 5px;\r\n }\r\n .dropdown {\r\n > a .ellipsis.icon {\r\n margin-right: 0;\r\n }\r\n .item.tms-red {\r\n color: red;\r\n }\r\n }\r\n }\r\n &:hover {\r\n .tools {\r\n display: block;\r\n }\r\n &:before {\r\n width: 4px;\r\n }\r\n }\r\n &.active {\r\n &:before {\r\n width: 4px;\r\n }\r\n }\r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n z-index: -1;\r\n top: 0;\r\n left: 0;\r\n bottom: 0;\r\n background: #2098D1;\r\n width: 0;\r\n -webkit-transition-property: width;\r\n transition-property: width;\r\n -webkit-transition-duration: 0.3s;\r\n transition-duration: 0.3s;\r\n -webkit-transition-timing-function: ease-out;\r\n transition-timing-function: ease-out;\r\n }\r\n }\r\n > .content {\r\n > .metadata > .rating {\r\n @media only screen and (max-width: 767px) {\r\n display: none!important;\r\n }\r\n }\r\n > .markdown-body {\r\n span.at-user {\r\n cursor: pointer;\r\n }\r\n }\r\n > .tools {\r\n position: absolute;\r\n right: 0;\r\n bottom: 0;\r\n display: none;\r\n > .ui.button {\r\n margin: 0;\r\n background-color: rgba(224, 225, 226, 0.5);\r\n &:hover {\r\n background-color: rgba(224, 225, 226, 1);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n",".tms-em-chat-input {\r\n &.ui.segment {\r\n margin: 0;\r\n position: fixed;\r\n bottom: 0;\r\n left: 220px;\r\n right: 0;\r\n background-color: white;\r\n padding-bottom: 22px;\r\n @media only screen and (max-width: 767px) {\r\n left: 0;\r\n }\r\n .tms-chat-status-bar {\r\n .dz-preview {\r\n display: block!important;\r\n width: auto!important;\r\n background: #e0e1e2;\r\n margin: 0;\r\n padding: 7px;\r\n }\r\n }\r\n .ui[class*=\"left action\"].input>textarea {\r\n border-top-left-radius: 0!important;\r\n border-bottom-left-radius: 0!important;\r\n border-left-color: transparent!important;\r\n }\r\n .textareaWrapper {\r\n width: calc(~\"100% - 35px\");\r\n border: 1px solid rgba(34, 36, 38, .15);\r\n border-top-right-radius: .28571429rem;\r\n border-bottom-right-radius: .28571429rem;\r\n .CodeMirror,\r\n .CodeMirror-scroll {\r\n min-height: 0;\r\n border: none;\r\n border-top-right-radius: .28571429rem;\r\n }\r\n .CodeMirror-scroll {\r\n max-height: 300px;\r\n }\r\n }\r\n .ui.input {\r\n margin-right: 5px;\r\n i.send.icon {\r\n z-index: 1;\r\n right: 7px!important;\r\n }\r\n textarea {\r\n resize: none;\r\n width: 100%;\r\n padding-right: 2.67142857em!important;\r\n margin: 0;\r\n max-width: 100%;\r\n outline: 0;\r\n -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\r\n text-align: left;\r\n display: block;\r\n padding: .67861429em 1em;\r\n background: #FFF;\r\n border: none;\r\n color: rgba(0, 0, 0, .87);\r\n box-shadow: none;\r\n border-top-right-radius: .28571429rem;\r\n border-bottom-right-radius: .28571429rem;\r\n }\r\n }\r\n }\r\n .CodeMirror-lines {\r\n margin-right: 30px;\r\n }\r\n .ui.vertical.menu.popup {\r\n width: 145px;\r\n a.item {\r\n > i.icon {\r\n float: left;\r\n margin: 0 .35714286em 0 0;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.tms-chat-direct {\r\n .tms-content {\r\n &.tms-sidebar-show {\r\n @media only screen and (min-width: 768px) {\r\n .tms-em-chat-input {\r\n right: 392px;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.textcomplete-dropdown {\r\n position: static!important;\r\n border: 1px solid #ddd;\r\n background-color: white;\r\n list-style: none;\r\n padding: 0;\r\n margin: 0;\r\n border-radius: 5px;\r\n li {\r\n /* border-top: 1px solid #ddd; */\r\n padding: 2px 5px;\r\n }\r\n li:first-child {\r\n border-top: none;\r\n border-top-left-radius: 5px;\r\n border-top-right-radius: 5px;\r\n }\r\n li:last-child {\r\n border-bottom-left-radius: 5px;\r\n border-bottom-right-radius: 5px;\r\n }\r\n li:hover,\r\n .active {\r\n background-color: rgb(67, 159, 224);\r\n }\r\n a:hover {\r\n cursor: pointer;\r\n }\r\n li.textcomplete-item {\r\n a {\r\n color: black;\r\n }\r\n &:hover a,\r\n &.active a {\r\n color: white;\r\n }\r\n }\r\n}\r\n",".tms-chat-member-popup {\r\n .ui.cards {\r\n margin-top: 0!important;\r\n .card {\r\n margin-top: 0!important;\r\n .ui.list >.item {\r\n border-radius: 0!important;\r\n }\r\n }\r\n }\r\n}\r\n",".em-chat-schedule-edit {\r\n // width: 320px!important;\r\n // margin-left: -160px!important;\r\n .ui.form {\r\n width: 300px;\r\n .ui.calendar {\r\n width: 200px;\r\n }\r\n .tms-date-field {\r\n position: relative;\r\n .ui.button {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n }\r\n }\r\n .ui.dropdown {\r\n width: 265px!important;\r\n min-height: 30px;\r\n > a.ui.label {\r\n > input.owner + i.delete.icon {\r\n display: none;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.tms-schedule-edit-target {\r\n display: inline-block;\r\n width: 1px;\r\n height: 1px;\r\n position: absolute;\r\n right: 188px;\r\n top: 30px;\r\n}\r\n",".em-chat-schedule-remind {\r\n .ui.table {\r\n tr > td:first-child {\r\n font-weight: bold;\r\n }\r\n }\r\n}\r\n",".em-chat-schedule {\r\n position: relative;\r\n height: 100%;\r\n .tms-add {\r\n position: absolute;\r\n right: 170px;\r\n top: 0;\r\n }\r\n .ui.form {\r\n width: 300px;\r\n .ui.calendar {\r\n width: 200px;\r\n }\r\n .tms-date-field {\r\n position: relative;\r\n .ui.button {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n }\r\n }\r\n .ui.dropdown {\r\n width: 265px!important;\r\n min-height: auto;\r\n > a.ui.label {\r\n > input.owner + i.delete.icon {\r\n display: none;\r\n }\r\n }\r\n }\r\n }\r\n}",".em-chat-share {\r\n &.ui.popup {\r\n max-width: 100%;\r\n width: 255px;\r\n .ui.input {\r\n width: 225px;\r\n }\r\n textarea {\r\n width: 195px!important;\r\n }\r\n .ui.search>.results .result {\r\n cursor: pointer!important;\r\n display: block!important;\r\n color: rgba(0, 0, 0, .87)!important;\r\n border-bottom: 1px solid rgba(34, 36, 38, .1)!important;\r\n margin: 0!important;\r\n }\r\n .ui.list {\r\n > .item {\r\n color: rgba(0, 0, 0, .87);\r\n }\r\n }\r\n }\r\n &:after {\r\n content: '';\r\n clear: both;\r\n }\r\n .footer {\r\n margin-top: 16px;\r\n .btn-cancel {\r\n float: right;\r\n margin: 6px 0 0 8px!important;\r\n }\r\n }\r\n}\r\n",".tms-left-sidebar {\r\n overflow: hidden;\r\n .tms-body {\r\n position: absolute;\r\n top: 98px;\r\n width: 220px;\r\n height: e(\"calc(100% - 150px)\");\r\n overflow: hidden;\r\n padding-right: 2px;\r\n i.circular.icon {\r\n box-shadow: 0 0 0 .1em rgb(65, 131, 196) inset;\r\n }\r\n .title {\r\n position: relative;\r\n margin-left: 10px;\r\n .ui.header {\r\n display: inline-block;\r\n margin-top: 2px;\r\n margin-bottom: 0;\r\n }\r\n i.plus.icon {\r\n position: absolute;\r\n right: 10px;\r\n font-size: 12px;\r\n width: 12px!important;\r\n height: 12px!important;\r\n }\r\n }\r\n .ui.list {\r\n margin-top: 10px;\r\n padding-top: 5px;\r\n box-shadow: 0px -1px 1px -1px rgba(65, 131, 196, 0.5);\r\n > .item {\r\n padding-left: 16px;\r\n border-radius: 0;\r\n > .icon+.content {\r\n padding: 0;\r\n }\r\n &.active {\r\n background: rgba(0, 0, 0, 0.2);\r\n }\r\n &:hover {\r\n background: rgba(0, 0, 0, 0.1)!important;\r\n }\r\n &.disabled-user {\r\n text-decoration: line-through;\r\n font-style: italic;\r\n }\r\n }\r\n }\r\n .tms-name {\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n max-width: 160px;\r\n }\r\n .tms-users {}\r\n .tms-channels {\r\n .ui.list {\r\n a.item {\r\n position: relative;\r\n &:hover {\r\n .actions {\r\n display: inline-block;\r\n }\r\n }\r\n }\r\n }\r\n .actions {\r\n display: none;\r\n position: absolute;\r\n right: 10px;\r\n top: 5px;\r\n }\r\n }\r\n .scroll-element.scroll-y {\r\n background-color: #4d394b;\r\n }\r\n }\r\n &.ui.left.sidebar {\r\n background-color: #4d394b;\r\n width: 220px;\r\n * {\r\n color: #4183c4!important;\r\n }\r\n .tms-header {\r\n > input {\r\n background-color: transparent;\r\n border: 1px rgba(103, 104, 104, 0.5) solid;\r\n font-size: 12px;\r\n padding: 4px;\r\n width: 188px;\r\n outline: none;\r\n margin-top: 10px;\r\n border-radius: 2px;\r\n &::-webkit-input-placeholder {\r\n color: rgba(103, 104, 104, 0.5)!important;\r\n }\r\n &::-moz-placeholder {\r\n color: rgba(103, 104, 104, 0.5)!important;\r\n }\r\n &:-ms-input-placeholder {\r\n color: rgba(103, 104, 104, 0.5)!important;\r\n }\r\n &:focus {\r\n &::-webkit-input-placeholder {\r\n color: rgb(103, 104, 104)!important;\r\n }\r\n &::-moz-placeholder {\r\n color: rgb(103, 104, 104)!important;\r\n }\r\n &:-ms-input-placeholder {\r\n color: rgb(103, 104, 104)!important;\r\n }\r\n }\r\n }\r\n padding: 9px 16px;\r\n box-shadow: 0 1px 1px -1px rgb(65, 131, 196);\r\n h1.ui.header {\r\n margin: 0;\r\n img {\r\n width: 30px;\r\n height: 30px;\r\n margin: 0;\r\n }\r\n }\r\n i.close.icon {\r\n position: absolute;\r\n right: 16px;\r\n top: 57px;\r\n }\r\n }\r\n }\r\n .tms-footer {\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n .ui.menu {\r\n border-radius: 0;\r\n background-color: rgba(27, 28, 29, 0.2)!important;\r\n .dropdown.item .menu {\r\n border-radius: 0;\r\n }\r\n .item {\r\n font-size: 12px!important;\r\n }\r\n .item:before {\r\n width: 0;\r\n }\r\n .ui.button.item {\r\n width: 140px;\r\n margin-right: 0;\r\n padding-left: 0;\r\n .visible.content {\r\n margin-right: 0;\r\n width: 100%;\r\n }\r\n }\r\n .right.menu {\r\n .ui.dropdown {\r\n .menu {\r\n .header {\r\n min-width: 150px;\r\n position: relative;\r\n .plus.icon {\r\n position: absolute;\r\n right: 0;\r\n top: -7px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n",".em-chat-sidebar-right {\r\n .panel-wiki-dir {\r\n \theight: 100%;\r\n padding-left: 15px;\r\n overflow-y: auto;\r\n }\r\n .panel-chat-schedule {\r\n \theight: e(\"calc(100% - 10px)\");\r\n \toverflow: hidden;\r\n }\r\n}\r\n",".tms-em-chat-system-link-mgr {\r\n .ui.form {\r\n .one.wide.field {\r\n @media only screen and (min-width: 768px) {\r\n padding: 0;\r\n }\r\n }\r\n }\r\n}\r\n",".tms-em-chat-top-menu {\r\n &.ui.top.menu {\r\n padding-left: 220px;\r\n height: 60px;\r\n @media only screen and (max-width: 767px) {\r\n .tms-chat-at.tms-hide {\r\n display: none;\r\n }\r\n }\r\n .item.tms-item:before {\r\n display: none;\r\n }\r\n .right.menu {\r\n .item {\r\n &.tms-login-user {\r\n @media only screen and (max-width: 767px) {\r\n &.tms-hide {\r\n display: none;\r\n }\r\n }\r\n }\r\n &.tms-item {\r\n padding-left: 0;\r\n padding-right: 5px;\r\n @media only screen and (max-width: 767px) {\r\n &.tms-hide {\r\n display: none;\r\n }\r\n &.tms-mobile-hide {\r\n display: none;\r\n }\r\n }\r\n button {\r\n .ui.floating.label {\r\n top: 0;\r\n right: 0;\r\n left: auto;\r\n }\r\n }\r\n &.ui.dropdown {\r\n @media only screen and (max-width: 767px) {\r\n display: flex;\r\n }\r\n display: none;\r\n padding-left: 5px;\r\n margin-right: 5px;\r\n > i.icon {\r\n margin-left: 5px;\r\n }\r\n .menu {\r\n > .item {\r\n .ui.button {\r\n margin: 0;\r\n i.icon {\r\n margin: 0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n &.tms-search {\r\n @media only screen and (max-width: 767px) {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n }\r\n }\r\n }\r\n .ui.search {\r\n input {\r\n width: 95px;\r\n transition: width .15s ease-out 0s;\r\n }\r\n i.remove.icon {\r\n display: none;\r\n position: absolute;\r\n right: 0;\r\n left: auto;\r\n }\r\n }\r\n }\r\n @media only screen and (max-width: 767px) {\r\n padding-left: 0;\r\n }\r\n .ui.basic.button {\r\n box-shadow: none;\r\n }\r\n }\r\n > .tms-chat-at {\r\n &.ui.dropdown {\r\n @media only screen and (min-width: 768px) {\r\n min-width: 175px;\r\n padding-top: 0;\r\n padding-left: 13px;\r\n padding-bottom: 20px;\r\n &.item:before {\r\n width: 0;\r\n }\r\n }\r\n > .text {\r\n > .actions {\r\n display: none;\r\n }\r\n }\r\n > .tms-metadata {\r\n position: absolute;\r\n display: flex;\r\n top: 35px;\r\n font-size: 12px;\r\n left: 0;\r\n height: 15px;\r\n .item {\r\n &:before {\r\n top: 5px;\r\n height: 50%;\r\n }\r\n &.tms-channel-info:before {\r\n width: 0;\r\n }\r\n &.tms-user-info:before {\r\n width: 0;\r\n }\r\n }\r\n @media only screen and (max-width: 767px) {\r\n display: none;\r\n }\r\n .tms-channel-links {\r\n .menu {\r\n .header {\r\n min-width: 200px;\r\n }\r\n }\r\n }\r\n }\r\n @media only screen and (max-width: 767px) {\r\n > .text {\r\n display: none;\r\n }\r\n > .dropdown.icon {\r\n margin-left: 6px;\r\n margin-right: 6px;\r\n }\r\n }\r\n .menu {\r\n > .header {\r\n i.plus.icon {\r\n position: absolute;\r\n right: 5px;\r\n top: 7px;\r\n }\r\n }\r\n > .item {\r\n &:hover {\r\n .actions {\r\n display: inline-block;\r\n }\r\n }\r\n .icon {\r\n margin-right: 4px!important;\r\n }\r\n > .actions {\r\n display: none;\r\n position: absolute;\r\n right: 5px;\r\n top: 10px;\r\n .large.ellipsis.horizontal.icon {\r\n font-size: 1.3em!important;\r\n }\r\n }\r\n &.disabled-user {\r\n text-decoration: line-through;\r\n font-style: italic;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n",".em-checkbox {}",".tms-em-hotkeys-modal {\r\n ul {\r\n padding-left: 30px;\r\n }\r\n ul.no_bullets {\r\n margin: 0 0 2rem;\r\n }\r\n ul.no_bullets li {\r\n line-height: 2rem;\r\n list-style-type: none;\r\n padding: 0;\r\n font-size: 1rem;\r\n font-weight: 700;\r\n }\r\n &>.content {\r\n background-color: rgba(11, 7, 11, 0.78)!important;\r\n }\r\n .keyboard i.icon {\r\n margin-right: 0px!important;\r\n }\r\n .subtle_silver {\r\n color: #9e9ea6!important;\r\n }\r\n .ui.grid .column {\r\n padding: 0!important;\r\n }\r\n}\r\n",".em-user-avatar {\r\n &.avatar.ui.mini.circular.image {\r\n width: 35px;\r\n height: 35px;\r\n font-size: 35px;\r\n background-color: rgba(150, 178, 183, 0.4);\r\n text-align: center;\r\n margin: 0;\r\n padding-right: 0;\r\n }\r\n .text-char {\r\n display: inline-block;\r\n height: 35px;\r\n line-height: 35px;\r\n vertical-align: top;\r\n }\r\n}\r\n",".tms-em-user-edit {\r\n .ui.form {\r\n .field {\r\n > label {\r\n width: 45px!important;\r\n }\r\n .user-username {\r\n margin-left: 0;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.em-user-edit-modal {\r\n /* Tablet & PC */\r\n @media only screen and (min-width: 768px) {\r\n width: 500px!important;\r\n margin-left: -250px!important;\r\n }\r\n}\r\n"],"sourceRoot":"../src"}
\ No newline at end of file
+{"version":3,"sources":["app.js","environment.js","main.js","blog/blog.js","chat/chat-direct.js","chat/chat-service.js","common/common-constant.js","common/common-ctx.js","common/common-diff.js","common/common-emoji.js","common/common-imgs-loaded.js","common/common-paste.js","common/common-plugin.js","common/common-poll.js","common/common-scrollbar.js","common/common-tips.js","common/common-utils.js","init/config.js","init/index.js","resources/index.js","test/test-lifecycle.js","user/user-login.js","user/user-pwd-reset.js","user/user-register.js","resources/attributes/attr-attr.js","resources/attributes/attr-autosize.js","resources/attributes/attr-c2c.js","resources/attributes/attr-dimmer.js","resources/attributes/attr-dropzone.js","resources/attributes/attr-modaal.js","resources/attributes/attr-pastable.js","resources/attributes/attr-scrollbar.js","resources/attributes/attr-swipebox.js","resources/attributes/attr-tablesort.js","resources/attributes/attr-task.js","resources/attributes/attr-textcomplete.js","resources/attributes/attr-ui-checkbox.js","resources/attributes/attr-ui-dropdown-action.js","resources/attributes/attr-ui-dropdown-hover.js","resources/attributes/attr-ui-dropdown.js","resources/attributes/attr-ui-popup.js","resources/attributes/attr-ui-tab.js","resources/binding-behaviors/bb-key.js","resources/value-converters/vc-common.js","resources/elements/em-blog-comment-popup.js","resources/elements/em-blog-comment-share.js","resources/elements/em-blog-comment.js","resources/elements/em-blog-content.js","resources/elements/em-blog-history-diff.js","resources/elements/em-blog-history-view.js","resources/elements/em-blog-history.js","resources/elements/em-blog-left-sidebar.js","resources/elements/em-blog-right-sidebar.js","resources/elements/em-blog-save.js","resources/elements/em-blog-share.js","resources/elements/em-blog-space-auth.js","resources/elements/em-blog-space-create.js","resources/elements/em-blog-space-edit.js","resources/elements/em-blog-space-update.js","resources/elements/em-blog-top-menu.js","resources/elements/em-blog-write.js","resources/elements/em-chat-attach.js","resources/elements/em-chat-channel-create.js","resources/elements/em-chat-channel-edit.js","resources/elements/em-chat-channel-join.js","resources/elements/em-chat-channel-link-mgr.js","resources/elements/em-chat-channel-members-mgr.js","resources/elements/em-chat-channel-members-show.js","resources/elements/em-chat-content-item-footbar.js","resources/elements/em-chat-content-item.js","resources/elements/em-chat-input.js","resources/elements/em-chat-member-popup.js","resources/elements/em-chat-msg-popup.js","resources/elements/em-chat-msg.js","resources/elements/em-chat-schedule-edit.js","resources/elements/em-chat-schedule-remind.js","resources/elements/em-chat-schedule.js","resources/elements/em-chat-share.js","resources/elements/em-chat-sidebar-left.js","resources/elements/em-chat-sidebar-right.js","resources/elements/em-chat-system-link-mgr.js","resources/elements/em-chat-top-menu.js","resources/elements/em-checkbox.js","resources/elements/em-confirm-modal.js","resources/elements/em-dropdown.js","resources/elements/em-hotkeys-modal.js","resources/elements/em-modal.js","resources/elements/em-user-avatar.js","resources/elements/em-user-edit.js","common/common-tags.js","app.less","common.less","override.less","blog/blog.less","chat/chat-direct.less","chat/md-github.less","common/common-scrollbar.less","user/user-login.less","user/user-pwd-reset.less","user/user-register.less","resources/elements/em-blog-comment-popup.less","resources/elements/em-blog-comment-share.less","resources/elements/em-blog-comment.less","resources/elements/em-blog-content.less","resources/elements/em-blog-history-diff.less","resources/elements/em-blog-history-view.less","resources/elements/em-blog-history.less","resources/elements/em-blog-left-sidebar.less","resources/elements/em-blog-right-sidebar.less","resources/elements/em-blog-save.less","resources/elements/em-blog-share.less","resources/elements/em-blog-space-auth.less","resources/elements/em-blog-space-create.less","resources/elements/em-blog-space-edit.less","resources/elements/em-blog-space-update.less","resources/elements/em-blog-top-menu.less","resources/elements/em-blog-write.less","resources/elements/em-chat-attach.less","resources/elements/em-chat-channel-create.less","resources/elements/em-chat-channel-link-mgr.less","resources/elements/em-chat-channel-members-mgr.less","resources/elements/em-chat-channel-members-show.less","resources/elements/em-chat-content-item-footbar.less","resources/elements/em-chat-content-item.less","resources/elements/em-chat-input.less","resources/elements/em-chat-member-popup.less","resources/elements/em-chat-msg.less","resources/elements/em-chat-schedule-edit.less","resources/elements/em-chat-schedule-remind.less","resources/elements/em-chat-schedule.less","resources/elements/em-chat-share.less","resources/elements/em-chat-sidebar-left.less","resources/elements/em-chat-sidebar-right.less","resources/elements/em-chat-system-link-mgr.less","resources/elements/em-chat-top-menu.less","resources/elements/em-checkbox.less","resources/elements/em-hotkeys-modal.less","resources/elements/em-user-avatar.less","resources/elements/em-user-edit.less"],"names":["App","init","initCalendar","subscribe","ea","nsCons","EVENT_APP_ROUTER_NAVIGATE","payload","router","navigate","to","unbind","dispose","$","fn","dropdown","settings","forceSelection","_","extend","form","prompt","empty","checked","email","url","regExp","integer","decimal","number","is","isExactly","not","notExactly","contain","containExactly","doesntContain","doesntContainExactly","minLength","length","exactLength","maxLength","match","different","creditCard","minCount","exactCount","maxCount","calendar","text","days","months","monthsShort","today","now","am","pm","formatter","date","day","getDate","month","getMonth","year","getFullYear","format","configureRouter","config","chatTo","localStorage","getItem","KEY_REMEMBER_LAST_CHAT_TO","map","route","name","moduleId","nav","title","redirect","activate","params","routeConfig","navigationInstruction","debug","testing","configure","Promise","warnings","wForgottenReturn","aurelia","use","standardConfiguration","feature","developmentLogging","plugin","start","then","setRoot","Blog","rightSidebarShow","isHide","EVENT_BLOG_VIEW_CHANGED","navModel","setTitle","subscribe1","EVENT_BLOG_RIGHT_SIDEBAR_TOGGLE","justRefresh","isUndefined","subscribe2","EVENT_BLOG_TOGGLE_SIDEBAR","clearInterval","timeagoTimer","attached","tg","timeago","setInterval","blogContainerRef","find","each","index","el","attr","on","event","preventDefault","$a","currentTarget","publish","EVENT_CHAT_MEMBER_POPUP_SHOW","username","target","EVENT_BLOG_COMMENT_MSG_INSERT","content","detached","nsCtx","blogId","id","EVENT_BLOG_SWITCH","all","loginUser","user","isSuper","utils","isSuperUser","isAdmin","isAdminUser","listUsers","users","window","tmsUsers","ChatDirect","offset","first","last","originalHref","wurl","channels","autoDiscover","poll","e","toastr","success","error","initSubscribeEvent","EVENT_CHAT_MSG_SENDED","reset","isAt","listChatDirect","listChatChannel","EVENT_CHAT_SIDEBAR_TOGGLE","isRightSidebarShow","isShow","wid","contentRef","width","contentBodyRef","children","css","subscribe3","EVENT_CHAT_CHANNEL_CREATED","splice","channel","subscribe4","EVENT_CHAT_SEARCH_GOTO_CHAT_ITEM","gotoChatItem","chatItem","subscribe5","EVENT_CHAT_CHANNEL_DELETED","location","subscribe6","EVENT_CHAT_CHANNEL_JOINED","subscribe7","EVENT_CHAT_CHANNEL_LEAVED","reject","subscribe8","EVENT_CHAT_LAST_ITEM_RENDERED","item","__scroll","scrollToAfterImgLoaded","markId","subscribe9","EVENT_SCROLLBAR_SCROLL_TO_BOTTOM","scrollbarRef","element","subscribe10","EVENT_CHAT_CONTENT_SCROLL_TO","scrollTo","stop","_reset","chatId","preChatId","setItem","startsWith","getChatName","history","replaceState","removeUrlQuery","listChannels","progressWidth","chats","lastMoreHandler","data","size","channelId","lastMoreP","get","unionBy","reverse","msgs","lastCnt","firstMoreHandler","nextMoreP","firstCnt","isCareMarkId","processChats","lastChat","totalElements","numberOfElements","_scrollTo","commentsRef","parent","some","removeClass","addClass","warning","defer","ImagesLoaded","always","doPoll","resetCb","stopCb","_pollChats","_poll","pollOnGoing","lastChatChannelId","countAt","cnt","push","create","body","icon","x16","x32","timeout","EVENT_CHAT_POLL_UPDATE","countMyRecentSchedule","pollChatsOngoing","_checkPollResultOk","_checkNeedNotify","fail","xhr","sts","errorAutoTry","hasOwn","creator","chat","has","bind","ctx","chatContainerRef","initHotkeys","initFocusedComment","$item","$hoveredItem","isShowHead","isElementInViewport","$next","next","isShowFoot","$btn","setTimeout","ctrlKey","stopImmediatePropagation","copy","err","scroll","throttle","sHeight","scrollHeight","sTop","scrollTop","scale","outerHeight","outerWidth","goHeadHandler","goFootHandler","focusedComment","$t","Number","parseInt","openEdit","version","isEditing","contentOld","focus","select","autosize","update","getScrollTargetComment","isPrev","$avatar","prev","duration","onAfter","document","evt","emChatInputRef","btnItemUploadRef","click","emHotkeysModal","show","refreshLatestHandler","ChatService","useCache","EVENT_CHAT_MSG_EDIT_UPLOAD","EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE","EVENT_SHOW_HOTKEYS_MODAL","EVENT_CHAT_CHANNEL_MEMBER_ADD_OR_REMOVE","EVENT_CHAT_MSG_INSERT","EVENT_CHAT_MSG_POPUP_SHOW","EVENT_CHAT_MSG_WIKI_DIR","EVENT_SWITCH_CHAT_TO","EVENT_CHANNEL_ACTIONS","EVENT_CHANNEL_LINKS_REFRESH","EVENT_SYSTEM_LINKS_REFRESH","EVENT_SCHEDULE_REFRESH","EVENT_MODAAL_BEFORE_OPEN","EVENT_MODAAL_AFTER_OPEN","EVENT_MODAAL_BEFORE_CLOSE","EVENT_MODAAL_AFTER_CLOSE","EVENT_BLOG_ACTION","EVENT_BLOG_CHANGED","EVENT_SPACE_CHANGED","EVENT_BLOG_CREATED","EVENT_BLOG_UPDATED","EVENT_BLOG_DELETED","EVENT_BLOG_STOW_CHANGED","EVENT_BLOG_SAVE","EVENT_BLOG_HISTORY_CHANGED","EVENT_BLOG_COMMENT_POPUP_SHOW","EVENT_BLOG_LEFT_SIDEBAR_TOGGLE","EVENT_BLOG_CONTENT_DIMMER_TOGGLE","EVENT_BLOG_COMMENT_ADDED","EVENT_BLOG_COMMENT_CHANGED","ACTION_TYPE_SEARCH","ACTION_TYPE_STOW","ACTION_TYPE_PIN","ACTION_TYPE_AT","ACTION_TYPE_DIR","ACTION_TYPE_ATTACH","ACTION_TYPE_SCHEDULE","NUM_TEXT_COMPLETE_MAX_COUNT","STR_EMOJI_SEARCH_URL","KEY_LOGIN_USERNAME","KEY_BLOG_COMMON_SPACE","memberAll","enabled","mails","isModaalOpening","webpackUniversalModuleDefinition","root","factory","modules","installedModules","__webpack_require__","exports","module","loaded","call","m","c","p","__esModule","_interopRequireDefault","obj","_diffBase","_diffBase2","_diffCharacter","_diffWord","_diffLine","_diffSentence","_diffCss","_diffJson","_patchApply","_patchCreate","_convertDmp","_convertXml","Diff","diffChars","diffWords","diffWordsWithSpace","diffLines","diffTrimmedLines","diffSentences","diffCss","diffJson","structuredPatch","createTwoFilesPatch","createPatch","applyPatch","convertChangesToDMP","convertChangesToXML","canonicalize","_utilMap","_utilMap2","ignoreWhitespace","prototype","diff","oldString","newString","callback","self","done","value","undefined","castInput","removed","added","removeEmpty","tokenize","newLen","oldLen","editLength","maxEditLength","bestPath","newPos","components","oldPos","extractCommon","join","execEditLength","diagonalPath","basePath","addPath","removePath","_oldPos","canAdd","canRemove","clonePath","pushComponent","buildValues","useLongestToken","exec","ret","count","commonCount","equals","left","right","reWhitespace","test","array","i","split","componentPos","componentLen","component","slice","oldValue","tmp","path","arr","mapper","that","Array","other","n","_base","_base2","characterDiff","oldStr","newStr","extendedWordChars","wordDiff","wordWithSpaceDiff","tokens","lineDiff","trimmedLineDiff","ignoreTrim","retLines","lines","line","lastLine","lastLineLastChar","trim","sentenceDiff","cssDiff","_line","objectPrototypeToString","Object","toString","jsonDiff","JSON","stringify","replace","oldObj","newObj","stack","replacementStack","canonicalizedObj","pop","sortedKeys","key","hasOwnProperty","sort","uniDiff","diffstr","hunks","remEOFNL","addEOFNL","chnukHeader","unshift","oldlength","newlength","substr","hunk","j","apply","concat","_diffPatch","oldFileName","newFileName","oldHeader","newHeader","options","context","patchDiff","contextLines","entry","oldRangeStart","newRangeStart","curRange","oldLine","newLine","_loop","current","contextSize","Math","min","oldStart","oldLines","newStart","newLines","oldEOFNewline","newEOFNewline","fileName","linesAndNewlines","changes","change","operation","escapeHTML","s","emojis","w","ILID","random","EVENTS","ALLOWED_NODE_TYPES","type","String","NodeList","HTMLCollection","toLowerCase","toArray","collection","l","inArray","indexOf","proxy","arguments","eventName","handler","listener","remove","events","addEventListener","attachEvent","Callbacks","callbacks","off","trigger","defaults","tIndex","images","pending","proper","broken","isPending","isDone","isFailed","cl","nodeName","nodeType","getElementsByTagName","progress","isBroken","doneLoading","clearTimeout","terminate","imgLoaded","imgLoadedHandler","tmpImg","img","pendingIndex","src","check","il","complete","naturalWidth","createElement","Paste","createHiddenEditable","dataURLtoBlob","isFocusable","jQuery","paste","pasteContainer","console","log","mountNonInputable","_container","pastableNonInputable","len","_pastable","pastableTextarea","mountTextarea","pastableContenteditable","mountContenteditable","dataURL","sliceSize","b64Data","byteArray","byteArrays","byteCharacters","byteNumbers","contentType","ref","atob","charCodeAt","Uint8Array","Blob","height","position","overflow","hasTabindex","fieldset","focusableIfVisible","mapName","parentNode","href","disabled","closest","_target","nonInputable","appendTo","_this","ev","textarea","ctlDown","ref1","DataTransfer","getOwnPropertyDescriptor","insertBefore","ref2","keyCode","metaKey","_textarea_focus_stolen","_paste_event_fired","curEnd","curStart","prop","val","setSelectionRange","contenteditable","clipboardData","file","k","len1","reader","ref3","originalEvent","items","FileReader","onload","_handleImage","result","readAsDataURL","getAsFile","getAsString","string","types","getData","_checkImagesInContainer","files","URL","createObjectURL","loader","message","Image","crossOrigin","blob","canvas","getContext","drawImage","toDataURL","onerror","cb","timespan","floor","insertAtCaret","myValue","selection","sel","createRange","selectionStart","startPos","endPos","selectionEnd","substring","minInterval","maxInterval","incInterval","tolerate","timer","inc","interval","_pollCb","_errCb","_isPause","oneHandler","_stop","_start","_pause","pollCb","errCb","pause","browser","firefox","navigator","userAgent","macosx","platform","msedge","msie","mobile","overlay","scrolls","webkit","add","instance","autoScrollSize","autoUpdate","disableBodyScroll","ignoreMobile","ignoreOverlay","isRtl","scrollStep","showArrows","stepScrolling","scrollx","scrolly","onDestroy","onFallback","onInit","onScroll","onUpdate","BaseScrollbar","container","isScrollOverlaysContent","getBrowserScrollSize","updateScrollbars","resize","namespace","jQueryScrollbarOptions","destroy","wrapper","removeData","scrollLeft","addBack","isFunction","S","cw","containerWrapper","o","x","y","cssOptions","initScroll","append","abs","scrollWidth","clientWidth","maxScroll","maxScrollOffset","visible","isVisible","bar","kx","handleMouseScroll","isVerticalScroll","mousewheel","touch","touches","originalTouch","pageX","pageY","originalScroll","top","targetTouches","d","scrollCallback","scrollForward","scrollOffset","currentOffset","scrollToValue","_getScroll","delta","wheelDelta","detail","maxScrollValue","deltaX","deltaY","animate","which","eventOffset","scrollbarOffset","scrollbarSize","hasClass","round","_handleMouseDown","eventPosition","initOffset","scrollClass","_updateScroll","cssOffset","cssFullSize","cssSize","AreaSize","AreaVisible","scrollSize","advanced","simple","track","CustomScrollbar","scrollbar","command","args","isArray","timerCounter","force","visibleHeight","visibleWidth","actualSize","outer","inner","ceil","axis","HORIZONTAL_AXIS","wheelDeltaX","label","ch","ch2","CommonUtils","regExpOS","ios","mobileChrome","cellphone","getBaseUrl","getUrl","getHash","hash","getBasePath","getResourceBase","endsWith","redirect2Login","redirectUrl","urlQuery","encodeURIComponent","query","rs","RegExp","isLoginPage","time","isRunning","rect","getBoundingClientRect","bottom","innerHeight","documentElement","clientHeight","innerWidth","preParse","plainText","txt","parseUsers","atR","isNotExists","getUser","parseUsernames","members","isExitsAll","without","md2html","emojify","html","marked","wrap","diffS","oldS","newS","way","ways","includes","delStyle","insStyle","JsDiff","nodeArr","swap","node","catalog","$e","$headers","pre","link","h","generateDir","uid","$list","prodDir","dir","$l","uniqueId","getCursortPosition","ctrl","CaretPos","Sel","moveStart","setCaretPosition","pos","createTextRange","range","collapse","moveEnd","isAbsUrl","escape","encode","unescape","charAt","fromCharCode","openNewWin","end","delay","authorities","authority","isSBCcase","str","isHanzi","getByteLen","abbreviate","maxLen","isMail","mail","emailRegex","isIE","isIE11","ActiveXObject","isIOS","isMobileChrome","isCellphone","isMobile","isChrome","isSafari","isFirefox","isOpera","diffHtml","tags","tag","encodeHtml","decodeHtml","Config","initHttp","json","param","http","withDefaults","credentials","headers","withInterceptor","request","req","requestError","response","resp","ok","status","responseError","initToastr","positionClass","preventDuplicates","initMarked","renderer","Renderer","listitem","sanitize","prot","decodeURIComponent","out","isChatLink","isCommentLink","codespan","code","lang","escaped","codeBk","highlight","langPrefix","setOptions","breaks","highlightAuto","initAjax","ajaxSetup","cache","exceptUrls","ajaxSend","jqxhr","isNotInExceptUrls","every","lastIndexOf","ajaxError","initGlobalVar","bs","colorHash","initAnimateCss","animateCss","animationName","animationEnd","one","initEmoji","setConfig","img_dir","initModaal","modaal","close_text","close_aria_label","confirm_button_text","confirm_cancel_button_text","confirm_title","accessible_title","confirm_content","globalResources","TestLifeCycle","eventAggregator","created","view","canActivate","canDeactivate","deactivate","inject","UserLogin","password","rememberMeRef","checkbox","kdHandler","loginHandler","rm","post","UserPwdReset","pwd","isReq","token","resetPwdHandler","fm","fetch","method","baseUrl","newPwdHandler","fm2","inline","fields","ViewModel","header","identifier","rules","okHandler","AttrAttr","Element","nameChanged","valueChanged","removeAttr","bindingContext","AttrAutosize","newValue","elements","AttrC2cCustomAttribute","_init","clipboard","$tp","hover","hide","AttrDimmer","$dimmer","prepend","AttrDropzone","toType","andSelf","dropzone","paramName","clickable","dictDefaultMessage","maxFilesize","addRemoveLinks","dictCancelUpload","dictCancelUploadConfirmation","dictFileTooBig","formData","uuidName","errorMessage","removeFile","AttrModaalCustomAttribute","fullscreen","overlay_close","animation","before_open","after_open","before_close","after_close","AttrPastable","toId","textStatus","AttrScrollbarCustomAttribute","cls","AttrSwipebox","$img","imgs","initialIndexOnArray","swipebox","useCSS","useSVG","hideCloseButtonOnMobile","removeBarsOnMobile","hideBarsDelay","videoMaxWidth","beforeOpen","afterOpen","afterClose","loopAtEnd","AttrTablesortCustomAttribute","tablesort","warn","AttrTask","task","bindingCtx","AttrTextcompleteCustomAttribute","tipsActionHandler","textcomplete","search","term","keys","template","member","emoji","emojiKey","cr","filter","values","AttrUiCheckboxCustomAttribute","AttrUiDropdownActionCustomAttribute","action","AttrUiDropdownHoverCustomAttribute","AttrUiDropdownCustomAttribute","AttrUiPopupCustomAttribute","popup","silent","jitter","onShow","onVisible","AttrUiTabCustomAttribute","tab","keyCodes","keyHandler","keyState","altKey","alt","shiftKey","shift","originalMethod","KeyBindingBehavior","binding","source","metaKeys","methodName","callSource","updateSource","mode","bindingMode","twoWay","originalName","isInteger","UpperValueConverter","toView","toUpperCase","LowerValueConverter","DateValueConverter","toNumber","Date","NumberValueConverter","isNumber","TimeagoValueConverter","ParseMdValueConverter","SortValueConverter","sortBy","SortUsersValueConverter","SortUsernamesValueConverter","SortChannelsValueConverter","channelAll","UserNameValueConverter","EmojiValueConverter","mkbodyDom","run","EmojiReplValueConverter","ChatLabelExistValueConverter","chatLabels","voters","ChatLabelTipValueConverter","chatLabel","vs","v","description","ChatLabelFilterValueConverter","LabelColorValueConverter","color","LabelCssValueConverter","cs","rgb","bgColor","Nl2brValueConverter","DiffHtmlValueConverter","allowedTags","allowedAttributes","EmBlogCommentPopup","hoverable","movePopup","prefer","cid","comment","EmBlogCommentShare","shares","desc","searchRef","minCharacters","selectFirstResult","showNoResults","onSelect","_id","_type","inputSearchRef","apiSettings","onResponse","results","shareRef","shareSearchKeyupHandler","removeShareHandler","cancelHandler","shareHandler","ajaxS","blog","chain","EmBlogComment","blogChanged","_refresh","comments","insertContent","page","editHandler","simplemde","codemirror","blogCommentsRef","commentRef","spellChecker","toolbar","toggleBold","className","toggleItalic","toggleStrikethrough","toggleHeadingSmaller","toggleHeadingBigger","toggleCodeBlock","toggleBlockquote","toggleUnorderedList","toggleOrderedList","editor","drawLink","drawTable","drawHorizontalRule","togglePreview","insertTexts","table","previewRender","preview","cm","addHandler","$chatMsgInputRef","markdownRef","initPaste","initTextcomplete","initUploadDropzone","isTipsShow","toTextArea","mde","cursor","getCursor","replaceRange","replyHandler","removeHandler","sending","contentHtml","$paste","domRef","getInputTargetCb","previewsContainer","previewTemplate","innerHTML","removeAllFiles","editTxtRef","refreshHandler","info","eidtKeydownHandler","txtRef","editSave","editCancelHandler","editOkHandler","htmlOld","isZanDone","voteZan","rateHandler","gotoTopHandler","EmBlogContent","getBlog","catalogHandler","blogFollower","getFollower","throttleCreateHandler","createHandler","throttleEditHandler","throttleCopyHandler","copyHandler","mkbodyRef","fixDirItem","feedRef","fixId","preId","dirItemIds","blogShareVm","followerHandler","historyHandler","authHandler","stowHandler","updateSpaceHandler","openEditHandler","deleteHandler","_dir","getMyLog","logs","isNaN","getStow","getMyTags","tagsRef","allowAdditions","onAdd","addedValue","addedText","$addedChoice","onLabelRemove","removedValue","blogStow","emConfirmModal","onapprove","blogSpaceUpdateVm","updatePrivatedHandler","privated","open","blogHistoryVm","blogSpaceAuthVm","sid","fid","dimmerHandler","commentsHandler","openFeedEventItemHandler","isOpen","feedEventItemMouseleaveHandler","refreshFeedHandler","EmBlogHistoryDiff","showHandler","approveHandler","f","fIndex","sIndex","emModal","hideOnApprove","autoDimmer","EmBlogHistoryView","blogHistory","ver","isCurrentVer","restoreHandler","ajax1","hid","EmBlogHistory","refreshHistory","viewHistoryHandler","blogHistoryViewVm","oldHistories","histories","clone","ajax2","diffHandler","list","chks","blogHistoryDiffVm","EmBlogLeftSidebar","blogs","spaces","noSpaceBlogs","spaceStow","calcTree","blogStows","space","_refreshBlogStows","_doFilerDebounce","debounce","_doFiler","leading","refresh","_refreshSysLinks","sysLinks","when","getSpaces","getBlogTree","b","spaceToggleHandler","editSpaceHandler","spaceEditVm","delSpaceHandler","confirmMd","authSpaceHandler","clearFilterHandler","filterKeyupHandler","toLower","_hidden","sysLinkHandler","EmBlogRightSidebar","dirRef","EmBlogSave","triggerChanged","blogInfo","chk","modal","spaceId","spacesRef","usernames","initSpacesHandler","EmBlogShare","EmBlogSpaceAuth","_isBlog","onChange","authO","chk2","opened","blogAuthorities","spaceAuthorities","auths","forEach","share","EmBlogSpaceCreate","ajax","ppRef","EmBlogSpaceEdit","EmBlogSpaceUpdate","EmBlogTopMenu","toggleHandler","logoRef","blur","createDate","targetId","searchBlurHandler","isSearchFocus","searchFocusHandler","userEditHandler","userEditMd","logoutHandler","searchKeyupHandler","EmBlogWrite","NAME","blogTitleInputKeyupInit","once","keyup","save","_editInit","_writeInit","ccid","cdid","ms","_copyInit","toggleSideBySide","toggleFullScreen","close","isKey","EmChatAttach","tabRef","tabPath","moreHandler","_listByPage","nextPage","moreCnt","attachs","tabClickHandler","searchHandler","keyupHandler","EmChatChannelCreate","activeTab","nameRegex","news","old","oldName","_getOldName","channelJoinVm","hideDimmer","EmChatChannelEdit","channelChanged","chkSet","EmChatChannelJoin","_getChannels","joined","joinHandler","leaveHandler","EmChatChannelLinkMgr","links","delHandler","oldTitle","oldHref","updateHandler","EmChatChannelMembersMgr","membersOpts","showDimmer","owner","membersRef","initMembersUI","EmChatChannelMembersShow","EmChatContentItemFootbar","addEmojiRef","addTagRef","onHide","isCustomTag","tagRef","toggleChatLabelHandler","meta","signal","toggleCustomTagHandler","tagKeyupHandler","EmChatContentItem","defaultBindingMode","$c","findLast","notifyRendered","isStow","unStowHandler","stowId","creatorNameHandler","likeHandler","isLike","isZanVoted","isCaiVoted","pinHandler","isPin","EmChatInput","initSimpleMDE","chatInputRef","initDropzone","inputRef","chatBtnRef","chatStatusBarRef","previewTemplateRef","textareaDom","autofocus","autoDownloadFontAwesome","markdown","sendChatMsg","setCursor","sendChatMsgHandler","togglePreviewHandler","EmChatMemberPopup","creatorName","EmChatMsgPopup","chatMsg","EmChatMsg","isHover","activedChanged","actived","chatChannel","chatAt","searchItemMouseleaveHandler","searchItemMouseenterHandler","gotoChatHandler","openSearchItemHandler","searchMoreHandler","searchMoreP","removePinHandler","removeStowHandler","chatStow","removeAtHandler","chatAtId","EmChatScheduleEdit","actorsOpts","actors","startRef","endCalendar","endRef","startCalendar","actorsRef","titleKeyupHandler","clearStartDateHandler","clearEndDateHandler","calEvent","scheduleEditRef","toDate","titleRef","startDate","endDate","EmChatScheduleRemind","headOffset","reminded","_pollCheck","getTime","_desktopPuh","EmChatSchedule","scheduleRef","fullCalendar","_getEvents","unix","center","defaultDate","defaultView","editable","eventLimit","navLinks","timezone","dayClick","jsEvent","isPopupShowForDayClick","addRef","eventClick","scheduleEditVm","eventMouseover","eventMouseout","eventDrop","revertFunc","_updateDate","eventResize","EmChatShare","EmChatSidebarLeft","usersChanged","_filter","channelsChanged","loginUserChanged","overrideCtx","hidden","chatToUserFilerKeyupHanlder","selectedChannel","channelEditMd","membersMgrHandler","channelMembersMgrMd","membersShowHandler","channelMembersShowMd","switchHandler","addChannelLinkHandler","sysLinkMgrVm","isSubscribed","subscriber","subscribeHandler","isSub","EmChatSidebarRight","actionMapping","dirHandler","nodata","attachHandler","scheduleHandler","chatAttachVm","chatScheduleVm","EmChatSystemLinkMgr","EmChatTopMenu","chatToChanged","chatToDropdownRef","_refreshChannelLinks","channelLinks","activeType","newAtCnt","initSearch","parseJSON","searchSource","onResults","searchInputRef","isExists","searchingP","toggleRightSidebar","filterChatToUser","initChatToDropdownHandler","$choice","searchRemoveRef","isActiveSearch","sibebarRightHandler","asShow","clearSearchHandler","showStowHandler","ajaxStow","stowChats","showAtHandler","ajaxAt","showWikiDirHandler","showAttachHandler","showScheduleHandler","viewOrMgrUsersHandler","channelInfoHandler","userInfoHandler","stopImmediatePropagationHandler","mailToHandler","chatUser","channelLinksHandler","channelLinksDdRef","channelLinkMgrVm","openChannelLinkHandler","showPinHandler","ajaxPin","pinChats","chatPin","EmCheckbox","checkedChanged","onChecked","emCheckboxAll","refreshCheckedStatus","onchecked","onUnchecked","onunchecked","onchange","EmConfirmModal","md","closable","allowMultiple","onApprove","onDeny","ondeny","EmDropdown","selectedItemChanged","menuItemsChanged","isEmpty","selectedItem","initDropdownHandler","EmHotkeysModal","EmModal","observeChanges","onshow","onvisible","loading","dimmer","EmUserAvatar","userChanged","_calcNameChar","lastChar","nameChar","avatarRef","EmUserEdit","frm","_chkOk"],"mappings":"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A,EJGQ,AEAJ,ACFA,CLMD,MACC,IKPA,CHEgB,MFMZ,MAAK,GINT,EJMc,CENV,OFMkB;AFE1B,AKNA,AJIA,AQTA,EHII,AJMQ,AKRR,ACDA,YHIW,AJKX,AOTA,IDCA,ELQQ,GINR;AFJJ,ACMA,AKNA,EVYI,ACDI,AKNJ,ACFA,AEFA,YJKW,AILX,ELCA,CCIc,GLMd,AIVG,ACIc,AJKb,AKNJ,OCFA,EHCI,MCE4B,GAAG,EDD3B;AFUZ,ASdI,AHDJ,ERaI,AIPY,ACCZ,ACDA,ACFA,CLWD,KAAM,KITL,CJSW,CGRX,GEHA,CCFA,GGDC,GAAG,CPKQ,CJOZ;ACJJ,AWTA,AHAA,EHOI,AJSA,ASdI,AHCA,YPOJ,AKHA,AEJI,GGDA,CFAJ,EPcA,YDJI,IAAG,KAAK;ADIhB,AIhBA,ACUA,AQVA,ANAA,ENaY,ACIR,ASdI,ACFJ,AJGI,ACDA,YJOO,AMPP,AFAA,CRUI,AMRR,ACDI,CJMJ,ECAc,AOTd,GVgBA,IFDqB;AMNzB,AQVA,EdiBI,AINI,ACAJ,AJGQ,ACIR,AUhBA,ACDA,ANKI,ACDA,ACDA,WLOA,CGLA,CDIQ,AGNR,GTaJ,ECHQ,CWZR,AEDA,GZiBA,CMbI,CHMJ,WQVA;AFAA,AIDJ,EdeY,AKJR,AJQA,AWNA,ACXI,APKA,ACDA,ACDA,MRUI,GMRJ,MMMJ,ECXI,ECDJ,APKI,CGLH,GLUD,AKVI,AFIA,MPcJ,ASfI,IAAG;AXgBX,AIpBA,ACcA,AOdA,AIAA,EfgBY,AKJR,AKPQ,AESR,ACXI,ACDA,ARMA,AEFA,QRUI,CYFR,GRAW,AMTH,EPQR,AQVA,AIFA,EXac,ASXV,CPKA,CHKD,AQVA,CGDC,ANIA,GTckC,CMRtC,KFCa,KAAK;AFStB,AerBI,EjBqBI,AIRA,ACCJ,AJEQ,AKJR,AMNI,ACQJ,AGbI,ATOA,CLaL,EFDI,GECE,GFAA,EaPL,CPFA,AJSW,GERP,AHGI,AWVJ,GVeY,AKbZ,CSPA,ACDH,GAAG,KZcJ,AYdS;ANAT,AIDJ,AGAA,EZcI,AJSA,AWPA,AIdI,AVQA,EPaI,KMTR,AOEO,EXOE,EAAT,OKbI,CQNJ,CJHC,GAAG,CXsBI,CaPR,IFTI,KMLA;AbFR,ACkBA,AJCQ,AWnBR,AIAA,AGAA,EbeI,AJSA,AWPA,AEZI,AEKA,ACTJ,ElBuBQ,MaPA,CPFR,GDGW,AJRX,AgBAI,ACTJ,EdeA,AFQA,AUrBA,AICA,GDCI,CXWD,AQbA,GZqBK,IIRG,ASCX,EDbI,GXeC,GWfI,GXgBD,IAAG,EWhBO,GXgBF;AmBnBhB,AbDJ,EHiBQ,ACEJ,AJEY,AKLZ,AJSA,AUpBQ,ACaR,AEZI,ACDA,ACMA,ACTJ,ShBuBA,AedI,GGVH,CPiBD,ANNA,CNSY,CmBpBR,CdeJ,AMXQ,AGCJ,CCDA,IXcJ,IajBA,EdeI;AOhBJ,AUDJ,ErB0BQ,AMTJ,AJSA,AWPA,AGbI,ACMA,ACTJ,AEDI,AbWA,GPQD,IiBTC,EjBcC,EEAL,GWPA,CKhBA,AEDI,CJIA,CKLJ,GVAC,GAAG,AUAC,GfgBL,GKPI,EJGA,EIHG,OAAO,WAAU;APV5B,ACsBA,AJKA,AW3BA,AUCI,EhBiBA,AJSA,AShBQ,AMEJ,ACTJ,AEDI,ACDA,ErByBI,MiBdI,CCTZ,GbkBW,AenBP,EhBgBJ,ACGY,AOnBZ,IVwBA,AUxBG,CSDC,ACDH,GAAG,EtB0BI,CWhBA,AMEJ,EXKJ,AMVI,CUNA,IAAG;ATAP,AGFJ,AOAA,AhBAA,EHoBQ,ACGJ,AJKA,AKTA,AKPQ,ACHA,AKKJ,ACTJ,AIFQ,EtByBA,QMTR,EgBhBQ,CVMA,AMJR,AXUA,CFQA,AWfA,CfoBA,EY1BoB,ANajB,CHKC,AYZD,GhBoBK,GWhBA,AKHJ,CCKA,EDLG;AdqBX,AkB7BI,ACDJ,AGAA,EpBqBQ,AHQJ,AKTA,AKPQ,AEVJ,AGOI,ACKJ,ACTJ,AXUI,OMbO,CKGH,IELP,GJSO,AITJ,ECGJ,CjBiBI,GgBjBA,CnByBJ,GY1BI,AKGJ,AEFO,AbYH,CIHI,AMEJ,GXKJ;ADMJ,AHKA,AUrBY,AaTR,EzB6BI,AIRA,AHQJ,AKTA,AKPQ,AMEJ,ACTJ,AEFQ,ACAJ,GrBgBD,GMAH,GNSK,AIRD,GCIO,AerBH,EfqBI,AOvBZ,CaFC,GbEE,AKaC,AIXA,AIJA,SbOA,AaPS,KxB6Bb,AwB7BkB,GPMlB,CNGS,UDID;AEVJ,AaFJ,AnBFJ,EHuBQ,ACIJ,AJIA,AKTA,AJUA,ASjBQ,ACJI,AaTR,EzB6BI,MIRI,CCIZ,IETA,IAAG,EIHK,GLOR,AOlB8C,AaFJ,CnBgBjC,CPaD,CIRJ,AqBrBA,CxB6BJ,ICCA,CUrBY;AKRR,ACKJ,AEAA,ACRJ,AMCI,EtB2BA,AJIA,AWpBY,ACuOhB,AYhPQ,AC8ER,AnB9DQ,EPaI,UoBxBP,AKLG,CEFH,EtB2BD,AqB3BY,CCAR,CTOgB,AGDpB,ERLoB,Eb8BZ,AqBzBL,CJJ2C,AUFpC,GfWE,ALOR,GcZO,EpByBX;AGFI,AELR,AKxBI,AiBDJ,EvB6BI,AYiHJ,ACrIQ,AEAA,ACDA,AIJA,AEFA,EdGI,AaFJ,MRMA,CEAS,EAAT,CKLA,CnBqBQ,CFNZ,ACUA,EsB3BI,IhBDH,CMAA,ENAG,AEII,CIJJ,ASEA,CEFJ,ExB6BK,AiBtBD,EVSA,AMhBK,EXwBoB,EKRtB,KACC,MPaA;AHIZ,AWzBY,AiBPA,AtBHZ,EHgCgB,ACFZ,ACJA,AKPY,ASTR,AOPA,ACDA,EXEI,ASAJ,KrB0BJ,ECJA,EchBI,ChBsBQ,CGXZ,CKlBA,AKCQ,ASAJ,ACDA,GCDA,ArBmBD,CKlBA,IiBA+C,CtBkBzC,GIFG,CCXR,ILac,KKXT,MAGG,SACI;AMdpB,AOMY,AKNZ,E1BiCgB,ACFZ,AJKA,AKTA,AMZoB,AgBZhB,ACMR,AtBaQ,EmBjBA,MpBsBJ,IoBtBI,EdUgB,ALOhB,CkBrBH,CGEG,EvB4BJ,AoB9BI,EPUJ,GjByBA,IwBnCa,EIAb,CzBgCY,A0BhCZ,ELAkB,CIAf,CCAA,GLIC,CIHA,KJIK,AIJD,ACAJ,KDAS,ACAL,MAAO,IAAG,OAAO;A9BsC7B,AWjBI,AEfA,AORJ,AOAA,AIAA,E3BkCgB,ACFZ,AY3BQ,ACOJ,AOLQ,AKJJ,EDCI,UTQZ,ASRY,CXQR,AOLQ,AEFZ,AGFQ,IHEL,CtB2BH,EMTC,CMtBA,CJOyC,CcHjC,CVJL,KAAK,QAIA,Mb6BG;AHKhB,AKTA,AMZgB,AgBlBhB,AIAA,AzBAA,EPyCI,AINY,ACFZ,AMTI,AE2NR,AOtOQ,AOPA,AILJ,EdMY,ONiBC,EAAT,EJAJ,CKrBA,AKIY,AUDR,EPOA,CWZJ,AxBuBG,CFSH,AO9BG,OgBEH,CrBmBa,CKhBT,EgBHD,I5BoCH,C4BnCI,CxB6BQ,CQzBH,MAQI,CgBXL;AVOA,AORA,ACGZ,AITA,AGAA,E7BoCgB,ACFZ,AJMA,AKTA,AKNI,ACNY,AeZZ,ACCQ,AGNZ,ACDA,AzBwBI,EMhBA,IRyBJ,GQzBI,CDUY,CRiBJ,AOXR,ELMJ,CCNI,CkBxBH,AEMG,AKNJ,CDCA,ENDI,CQAJ,CfUA,CUHY,MHPC,GxBuCb,A6BvCA,ELAkB,EKAf,EZYC,CORA,MACK,AKDL,KAAI,GZSC,GONG,EAAC;AzBoCjB,AoB5CA,AcCI,E9BoCY,AHIZ,AiB1BY,AONI,ACChB,AIJQ,AEJR,ACAI,EpBQA,UOEJ,GhByBY,AqB5BI,COPhB,AEDC,CRSD,CORI,CCDA,CdaA,EnB2BJ,CY/BI,EKKQ,IYTJ;AzB+BZ,ACHA,AKlCA,ACAA,AKCI,AUDJ,AQAA,A5BAA,EP6CI,ACHA,AmB3BQ,AMJR,AIJQ,AEJR,AEDI,SAAA,G7BmCO,AetBH,CONR,ApBkBA,CKxBA,EZ0CA,C2BpCG,ApBkBA,CKxBA,AkBIK,AEJR,CfFC,ASUD,CfgBA,AwB1BA,ElBAI,AUSA,EQTD,E5B0BU,CKnBT,AKPK,KV0BS,CNelB,EgBzBI,CLKI,ELKgB,IKLX;ARkBT,ACFR,ACHA,AmBvBY,AQZZ,AGAA,EpC8CI,ACHA,AUfI,ACLQ,AKuFJ,AG9FA,AOLA,AORJ,ACDA,A5B0BA,QUkFY,EmB7GhB,E/BqCW,CCHC,C8BlCT,A7B2BC,CaZI,AKfP,AEUO,AORJ,ClC2CJ,AWlBI,ACLQ,EatBR,CQAJ,G7BuC8C,C+BtC1C,ACDS,EnC0Cb,AgBmEQ,EQ7GK,KAAK,AWAI,KXIlB,IWJ2B,EXWtB,AQTL,URUQ,EAAC;ApB0BjB,AQvCA,AaSA,AITA,AEAA,AKAA,ErC+CI,AI+JJ,AE1KI,AcnBQ,AKHQ,AEFR,AMRA,ACAJ,AEFA,SFEA,G7BmCO,AqB3BX,EbQA,CYNgB,AEFR,CvBOR,AgBFQ,CgBfJ,CHEI,CjC2CR,CqC5CA,G/BiCA,C+BjCG,GLCH,GFMA;AzB8BJ,AJMA,AU9CA,AC4BwB,AK3BpB,AkBDJ,AGAA,A/BAA,EPgDI,AaHI,AahCA,AIFA,AENA,ACAI,ACAJ,AGDA,EjCqCI,K6BpCA,ICAJ,C7BmCO,AgCpCP,CLCA,AzByBJ,GPkBA,AIPQ,AsB5BJ,CIFA,AvBmBD,EMeC,AI5CH,CN0BD,AwB1BA,EvB2B8D,AK3B1D,AqBAJ,EHAG,EGAA,A/B6BU,CU7BJ,CN4BL,EwB1BA,EGDA,A/B4Bc,GUbd,AqBfG,KAAI,KrBgBH,IAAG,MAAM;AZuBrB,ACFA,AmBtCI,AEcA,AYfJ,EvCiDI,ACFA,AUjBQ,ACmGZ,AK9GgB,ASLR,AIFA,AENA,ACAI,ACAJ,ACFI,AGDA,A/B4BJ,Q2BzBA,CDAI,G5BmCG,AMXH,AehBJ,C1BmCJ,AMVW,AWpBC,AUJX,CKTG,AzByBA,CkB9BH,CbED,AeYI,AGHA,CQTI,CbFJ,EbED,ENoCiB,C6BnCZ,IVHK,EbOT,GaPc,KAiBd,CbOI,MaPE,GbQE,EaPJ,MACI,IAAG,GbOC,EaPI,MACJ;ApBqBpB,ACFA,AOxCA,AwBAA,AGCI,ExCiDA,AWnBQ,AMXI,AQEQ,AENnB,AMTO,ACAJ,AKNJ,EtC+CI,AWnBoB,SqBtBhB,C5BmCG,AmCzCV,ClCuCU,AqBxBV,CdID,C2BnBI,G5B4BoB,AKTZ,AsBnBZ,EFEA,CrC+CA,ACFuB,CKRH,C4BjChB,CrBcA,AwBlBD,CZmBiB,GZDb,CFUC,A0B1BJ,IAAG,ExBiBC,KZ0BkC,AY1B9B,0BZ0BR;AGhDR,AsBSA,AMFQ,AGPR,AMAA,AlCAA,EPmDI,AKRA,ACFA,AOlBY,AIFA,AQEQ,AENhB,AOTA,AGFI,AEJR,ACAI,EvC+CA,AWnBoB,UPaxB,AoBpBoB,ACXpB,AWNQ,AEJR,CtC+Ce,AMhBf,CPkBA,AIhCA,AEsBA,AOlBY,C2BrBR,EjC+BD,CUZS,CLSY,CebpB,AOTA,ACPJ,GTcI,CSdD,G/B0CC,A4BvCJ,GGDI,ElC8C8B,I+B1C7B,AGFG,IAAG,KAAM,alC4Cb;AgCvCJ,ASVJ,E1CoDI,AIHQ,ACLR,AQpBY,AIFA,ASNJ,ACEJ,AKVI,AGFI,AKHR,ACFJ,AlCiCI,C0BxBD,ChCwCC,QgCxCS,C7BuCL,CoC9CJ,G3BqBQ,AaRJ,CefR,CpC2CA,C2BpCQ,CfcI,CUJR,AejBJ,KnCiCI,C4B5BQ,MnC8CZ,AiC1Cc,QACV,KhCuCA,KgCvCQ;A3BiChB,AmBpBwB,ASfhB,AGTR,AEAA,AIGY,E3CkDR,AIHQ,ACLR,AQpBY,AaRJ,ACEJ,AKVI,ACGA,ASVP,AnCiCG,ENgBA,O+B1CI,CNQA,EtBiCA,AsChDP,CpC0CW,AqBzBR,CpBgBA,CMVQ,AYxBX,AcED,CNSQ,ERXJ,CpB4CJ,CgC1CA,EHM8C,ASNI,ENA/C,GZFU,EYOT,GZPc,KxBkDd,AwBjCA,GzBmCJ,IyBnCU,KACF,MACI,IAAG,KAAK,MACJ,MAGK;AnBqBzB,AM7CA,AKCI,AuBAA,ACDJ,AGCI,E5CqDA,AIHQ,ACLR,AoBrBwB,ACPhB,AQyHZ,AGlIY,AELJ,AGDA,ACMR,UtCqCI,EmC7CC,ClC4CW,CM1CZ,CRgDQ,AoClDJ,ACCJ,EzCoDA,CYnDG,AceK,AQjBP,AGQO,AELJ,AGDA,CzBFH,A2BAA,EVAG,AMGA,CvBHA,A2BAA,GJGG,CIHC,ChCOJ,AKPK,C0BAT,IAAG,G1BgBC,CLQI,AaAgB,CkBvBpB,KAAI,G/BiCI,AKjBJ,E0BhBK,E1BgBF,MAAM,KAKL;AJvBhB,AceI,AKFI,ACHJ,AYVJ,EzC6DY,ACdR,AJMA,AKPA,AMVgB,AKZA,AQEQ,ACPhB,AadJ,ACAI,ACFJ,ACCA,AEFA,CXQD,CCAK,ASNI,KjBeG,EQTP,CDAK,CrB0BG,C2B/BZ,ACAI,AGDI,ChBWX,CdKD,CP0BA,CmBpBwB,AEXpB,AeXA,ErC2CJ,AYvBgB,AwBrBZ,CGDA,CxC2DI,CuBzCJ,GdCA,AaFI,GMPR,CnBSO,IoBXO,GpBYN,KAAI,AoBRR,EDDC,KnBaO,EAAC,AoBXL;AjC0CZ,AqCzDA,ASAA,EzCgDI,AQrBgB,AaJR,ACFA,AKPA,ACEI,AMVR,AEFA,AGDA,E3CmDA,IsChDA,EvCmDG,CgC3CC,ASVJ,GGDA,G/BwBY,EoBXJ,ENKJ,AmBpBR,CTEA,ChC6CA,AJMuB,EyB/Bf,CWpBL,KAKC,WpC8CsC,KoC5ClC,IAAG,gBpC4CwD,0BAA/D;AGtDR,AEiDA,AMjDA,AKyBoB,AQxBhB,AeAA,AEDJ,AKCI,E/CyDA,A0BlCQ,ACFI,AUXA,AINR,AKHA,E7CqDA,S0BjCQ,CarBX,ACIG,CxCkDW,A8CtDd,C3CkBD,AQhBA,CaFC,AeAG,EduBI,CdrBL,AaFC,AYUQ,ASTR,C7BDH,CyBKD,AKLQ,CPMJ,CvBNA,CjByDJ,A+CzDW,I3C0CP,AQnCA,AKPK,AQAI,CsBAG,I9CsDkB,AwBtDhB,GRgBd,CLQI,CaPJ,AsBjBqB,OtBiBf,CrB0BF,AQNI,AKpBJ,IAAG,AQCH,MRDS,AQEL,ExBmC+C,EwBnC5C,CRGH,IQHQ,IRKH,EQID,EAAC,KAAK,MxB0BlB,CwB1ByB;ApBsBjC,AQnDA,AmBkBQ,ACRJ,ACTA,AKDJ,AKIQ,AIJR,E5C6CgB,AEKZ,AMXgB,AKbI,AQIA,ACLZ,ACFQ,AUXJ,AGJJ,ACFJ,ACCH,AKLG,CdQD,ChC8CC,IoC5CQ,CVWI,CcjBJ,ACCH,ETGI,C7BmCD,A2C3CR,C1CiDO,EQ/BX,AYUoB,CpBqBN,AkC3Cd,ASPA,CdAC,EtBsCe,CsBtCZ,AKOD,ASPA,GROK,AIJsC,E/BiB1C,AmCnBA,C1CgDJ,AoC3CC,CDDG,CTWJ,AELI,CrBSG,GmClBC,CfOM,GpBYN,AaGA,CTCY,IJJR,AmBJP,ACJD,KhC0CA,EY3BQ,CqBhBJ,CDKA,UACI,IAAI,UAAS;AjC0C7B,AKTA,AyCpDA,E1C8CgB,AEKZ,AOrBgB,AcNR,AKLA,ACCQ,ACNJ,AGDA,AEJR,AEFA,ACCH,AE0KL,AG/KQ,ACCQ,E/CqDR,MoC5CQ,ELMJ,E5B2BI,ACMD,AkC3CP,AQNA,G1CiDU,AQtBE,AoBVA,CQbZ,ACCH,GIJD,EFHC,AIGW,CFAV,EnBoBM,AOVI,AUbR,CtCkDJ,CNWA,E4C7DQ,KAIA,I3CoDJ,S2CpDgB;AvCgDxB,AOrDA,AKyBoB,AQxBhB,ACmBQ,AcnBR,ExC8DI,AIhBQ,AShBI,AcNR,AOVI,AOPR,AKHA,ACDA,EHEQ,UvC+CD,AmCpDV,EpC8CW,AQ5CZ,CPkDc,AoBpDb,AeAG,AIKQ,AGFR,CDCA,CjC0BY,CD5Bb,AaFC,AEwBI,AcjBJ,CxBPH,EiBcW,AMLR,CvBTA,ASmB8C,C1B2C9C,EwCrDG,E5BFH,AKPK,AQAI,KAAK,AeSJ,GvBOV,CLQI,CaPJ,MeRoB,CfQd,CboBE,AKpBJ,IAAG,AQCH,MRDS,AQeL,IAAG,CRVH,MQUU,ERRL,CLeD,KKbI;AZ2BxB,ACAA,A0BtDA,ACUI,AIVJ,AEAA,ASAA,E/C2DI,AWlBoB,AKbI,AQMR,AC+CpB,AQjEgB,AMLJ,AONJ,CdKD,SAAU,E5B4CF,ECAE,AoB1Cb,CrB0Cc,AkC9Cd,ASPA,EvBiCgB,CbOI,CsBzBR,AKRT,ASPA,CXEH,CpByBwB,GoBzBrB,AEOC,ASRA,CtBaA,AcJI,ERWR,COZO,CFMH,EWVI,CfIM,CDYT,AKNE,OJFH,EcTA,OdaI,UAII,MAAK;A7BtBrB,ACuDA,AQvDA,Ac4BI,Ac5BJ,AKAA,ExCuDI,AMboB,AaPJ,AOZZ,ACAY,ACNJ,AGAJ,AENA,ACCA,AONJ,ACCQ,E/CqDR,AyBvCQ,KdqBQ,EsBzBR,CDMI,E5BgCL,AkC5CH,CZiBP,CvBTD,ASCA,AaCY,AsBdA,C3CgDE,A2BhCV,ASrBJ,ChBiCgB,EsB7BZ,CDCJ,E7CqDuB,CoC3Cf,ASVN,EjCcE,A2BTI,CCHJ,ErCkCA,AEYJ,AmC9CK,C5BYE,KiCdO,EjCeN,C4BbM,IxCmD4B,AYtC9B,KTwCJ,ESjCI,ETiCD,OS9BK,SZ4BmD,0BAA/D;AIJR,AYvDI,A2BAA,ExC8DY,AQpBQ,ACVA,AYGJ,AEPf,AOXW,AGAJ,AGLA,ACHA,AKFJ,ACDA,E9CsDA,OWlBgB,AmCpChB,G1CiDO,AoBpBK,ASlBJ,CjC2CG,EILD,AQvBM,AcJnB,CvBkCW,AiC7CJ,CSVJ,E7BPH,A2BAA,G3BAG,A2BAA,IJYI,AIZA,C3BAC,I2BQL,C3CoD8B,GgB5C9B,EwBPI,AGDC,Q3BSD,C2BTU,G3BSP,MAAM,EhB2C0C,GgBtC/C,QAQI,ehB8BZ;AKHR,A0B1DA,AC2BQ,AM3BR,ASaA,E5CsDgB,ACVZ,AOboB,AKZA,AuBlBZ,AIJA,AEDJ,ACDA,CdED,ChCoDC,QgCpDS,CrBkCO,EgClCZ,CvC+CR,ACCa,CFSD,AmC3DZ,CtBwBoB,A8BxBhB,GRAD,EOCC,GPIA,GPYJ,K1BiC+B,A2BhDjB,QAiBT,IhCmCD,EgClCI,AOdA;A3BdZ,AYwCQ,AC/BR,AQRI,AGDJ,AIAA,ErCoEgB,ACVZ,ACCA,AW1BoB,AePhB,ACGQ,AMfJ,ACCA,AMLJ,E7CqDA,Q6CrDA,EpBEJ,CrB8CA,CQtCA,AoBSY,CQ3BZ,CPDC,CFyBG,CfOgB,AsBnBZ,CnCsDI,A8BnER,AMcI,CHZR,EZqC8C,CnBmB9C,AoB5CI,CbMA,AwBlBD,CISC,EPSA,CrBAG,CwBLH,EHKG,CRKC,CWVD,ExBMC,CZyCJ,EyBrCS,EbJD,EwBHJ,IAAG,CxBiBC,EwBjBE,IHEe,EGDjB,IHCuB,IGDhB,MAAO,IAAG,OAAO;AzBpBxC,AgCeoB,AGfpB,E3CqEgB,AETZ,AOvBgB,AIHI,AQQR,ACfA,AQLJ,AGDQ,AIRR,AKFJ,S7BuBgB,IoBbJ,AUXhB,CnCPA,CCkCgB,AiC1BZ,C1C0DQ,CqBpEX,CbEE,A6BUK,CfcI,CD1BR,EnB2DJ,AsC7C0D,KhCPtD,EaPS,KAAK,CSqBV,CtBGA,GagBA,MbMI,AaLC;ApBmBjB,A2B7DA,AC+BY,AM/BZ,ACCI,AQcA,E/CkDA,AKJA,AMbgB,ACVA,AqBfR,AOTA,AGEY,AEJhB,ACDA,CdDD,CRiCa,QQjCH,E5BmDF,AmC5DV,GnC4DY,AoBlBG,AcnChB,ACPI,CMWA,CjC0BY,A4BxBR,C7BkCQ,C2BxCb,ElCqDiB,AmC5ChB,AIhBH,AGUG,CCIsC,C3C8CrB,ACArB,CiChDI,AKZA,CJgBG,ERQP,CYxBQ,EJiBA,EPRM,CWEV,KVWI,CFIJ,CCAC,AMZG,AKHE,ILGC,CKFH,CXkBC,KWjBI,eAEQ;AxChBzB,AC8DA,AY7DI,ASQJ,AWmBA,E/BkCI,AMbgB,AoBrBR,ACII,ACRJ,AKRI,ACGA,AOPR,ACQR,E/C8CQ,A2CjDoB,MhCgCR,CNahB,C2B9BY,E5B8BD,AqBlDX,AqBAI,E3COJ,CC2Ca,A2BlCL,AYXgB,GLDZ,CtBfX,EZ6DmB,AJIG,CgBjEnB,CZ6DiB,AqB/CjB,GcIQ,CpCwBR,Aa1CK,KS4BD,GTZJ,GSYS,EzBqC6B,AiC1ClC,K9BsCA,Aa5CA,Ib4CG,Aa5CA,MAAM,GboDL,Ea/CA,Ib+CK,CHJb,GgB9BY,EbkCO;ACP3B,AQ/DA,A4BAA,AKcI,E1CyDgB,AERhB,AMbgB,AKbI,AQQR,ACfA,AWDZ,AEZY,AQJR,E9CsDA,A+CnDA,ITCQ,G3BiCI,GPaL,CJII,CGIC,ASnDhB,CR2Ca,AoC7Db,EhBDC,AsBYG,CrBiBQ,CTOQ,A6BvBnB,CrBbG,CpB8DgB,AgClCpB,EhCkCqB,CQ1CjB,AmCLA,CPJA,EnCmDJ,CO1CO,CYpBM,GxBkEqB,AwCpD1B,EhBdU,CZqBV,C4BPG,GhB0BH,CZnBI,KYuBC,EZTD,UZ+BR,EY5BY;ARyBpB,A2BlCQ,ACHA,AC1BJ,AMsBA,EpCiDgB,AERhB,AMbgB,ACXI,AIFA,ASPR,AWDZ,AEZY,AEFA,AKDR,ACDA,CdJD,ChC0DC,AwBtBY,AuB7BZ,MtBcQ,AabA,ENRC,AIoBb,EhCkCW,AmCzCV,C5B4Be,ERqBA,ACRH,AQxBO,AYMJ,CRRI,AiBrCnB,GAAG,AaaA,E1CkDgB,AoChDR,AOCR,E3C+CiB,GCArB,C0BvCA,AECI,KDhBU,ODoBT,AcfD,CbYC,IhCyCD,EgClCI,8BACI;A5B8BhB,AuC5CgB,EtC4CZ,AW1BoB,ASPR,AMDJ,ACKQ,ACTR,AGIR,AGPI,ACPQ,ExCoDR,KiC1CW,ERKH,AcRC,EHOb,AGPI,CnCyCO,GAAE,A2BlCL,ASdI,IGhBX,EvCgEmB,A4B7BJ,CWnCZ,CvCgEiB,AY1BD,CiBZZ,EU1BA,CtCgER,IsCrDI,K3CyDA,E2CzDM,KACF,MAQK;AxCrBjB,ACkEA,AOlEA,ACAA,A0BAA,AOAA,ExCkEI,AW1BoB,AQQR,ASpBJ,AGIR,AGPI,ACPQ,AGII,WJGZ,CnCyCO,CCAX,CF/CA,AQhBA,AC4CA,CRmBa,AkC1Db,AKcgB,C3BkBI,AwBtBR,ChBjBX,CbEE,AyB6BH,CExBG,AOSH,CrBhBI,CpBiEgB,EAAC,CkC7CjB,GnCsBA,AQnCA,C2BaG,CdpBM,AqBgBH,EAAC,GrBhBO,EbwBV,GagBA,CSbA,K9BkCA,AQfI,AaCC,IrBcF,KQVK,IRsBJ,EQtBS;Ac3CzB,AMTA,ACyCY,E7BkCQ,ACRhB,AJIA,AKJA,AMdoB,ACLhB,AqBnBI,AGIR,AEXQ,AKCQ,AELZ,CbRD,CRuCa,ObII,CqB3CP,E3ByDb,AoBvDA,AWqBA,EhCkCA,CoBlBgB,GZDZ,A+BzBY,CxCoDA,GmCrDR,CbaJ,IMDJ,AchBI,IdgBD,CCxBW,KDwBL,AELD,GDWH,EDLD,KCMK;AhBxCT,AuBDJ,ACAA,EpCoEI,ACAA,AMdoB,ACLhB,AabI,AMAA,ACMI,ACZJ,AGIR,AEXQ,EtCiDJ,OoCtCJ,CJQY,EpBOR,AmBbI,AQTR,GCzBA,CFqBQ,CbaA,CrBgCR,CYnEC,EhBuEsB,CgBvEnB,GwBWA,ExBXK,EXmET,GmChDQ,EAAC,CxBHL,IhBuDA,AwCpDU,CPUN,EtBwBY,GKpCZ,IAAG,MAAM,KAKL,QAmBI;Ab1CpB,AwCwBoB,AExBpB,EzCqEI,ACAA,AOnBI,AIPgB,AQQR,AevBR,ACPQ,ExCoDR,IKJJ,OLIe,AgB9BK,CbxBpB,CCkDA,CmCzCI,Cf3BH,CZiDG,A4B7BQ,CKDZ,CrBnBI,EmBuBsD,KxCmBtD,EqB1CS,ExBwET,GwBxEc,KAwCV,MrBqBA,AqBXK,IrBWF,SAeC;AQtBQ,AcjBR,AMtChB,AC6CQ,AC5CJ,AKDJ,EnC8EoB,ACRhB,ACAA,AW1BoB,AwBtBR,AGGQ,AEJhB,CbXD,ChCgEC,AwBtBY,QQ1CH,CQYD,CfVZ,EdTA,CaiDgB,Ac5ChB,CnCsEgB,A8B7Ef,EtBEE,AKyCiB,CiB3ChB,AKOD,ElC8DH,AuCrEC,CtCqED,CoBnCI,CadA,AKpBA,AEoBA,GlCbA,AoB0BJ,AERI,CKLG,AKpBC,GZiCL,CCxBW,CWEV,ClByBI,EdZA,CoBSC,AOVD,GNqBH,AWjCK,CLYC,CPWP,E/BuCA,AiC3CI,AKPM,C3BuBF,AgClCJ,KlByBK,AabD,CKJC,EZgBL,CpBeQ,I2B3BG,CPYN,CpBeQ,AgC3BA,ILAK,G3B8BL,C2B9BQ,OAAO;A1BzBxC,AqBCI,AMDJ,EpC+EoB,ACRhB,AOfwB,AKXJ,ASNJ,AMDJ,ACQJ,AMpBQ,AEHJ,ExCoDR,A2CjDoB,MvC6CxB,AY1BoB,CgBCH,EDRL,ACQJ,CPPQ,AcZhB,CDDgB,C1BqBhB,C4BxBY,AGGY,CVzBvB,E9B8Ee,C8B9EZ,CM4BA,E3BsBA,GDKoB,EsB9BpB,CrByBK,QZwBL,QiC3CI;A5ByCZ,AwCzEA,EjCoDY,AINY,AQ0CxB,AQzCY,ACdI,AMHJ,ACNI,SxBsBQ,GuBhBZ,CNGI,C5BwCC,GOrBL,AYnDP,CQ8CO,CaxBR,CrBtBI,CgBuBQ,EKDT,KAAM,CrBtBI,GnBwEkB,EmBxEb,KAsDV,InBkBiC,GmBlB3B,KACF,MACI,IAAG,OACC,IAAG;ArB1D3B,AC0EA,AObY,AcpDZ,AMgCQ,E1BiCJ,A2B1BQ,ACdI,AMHJ,ACNI,AGGQ,AEJhB,ErBmCoB,OnBexB,E2B1BQ,C5B0BG,AqB9BX,AQVY,E9BfZ,AQhBA,AawDwB,CpBeX,GOvEV,EkCqBC,CzCkDgB,AuCzEnB,CHwBW,CpCiDS,CuCzEjB,GxC0CA,AQnCA,AoB0BJ,CYjCQ,CJ8BA,CnC2CqB,C2BxC1B,EYtBC,GhCiDK,CoB3BA,GYtBC,EZ6BL,G5BqBG,AwCjDA,IxCiDG,EwCzCE,CZqBL,M5BmCI,EwCjDS,GZeT,MAAK,I5BqCD,IAAG,KAAK;ACL5B,AJIA,AYzBQ,AIrDJ,EbgFoB,AENpB,AMbY,AcAR,AMlBY,ACKR,ACdI,EUNY,IXoBhB,ChC8BH,CKJL,IDAW,C2B/BK,CnBGhB,CR4Ba,AuC9CW,GxCoDJ,AsBnBhB,CT7DH,EZ0EmB,CQrBf,AIrDD,CZ0EiB,EObT,EK7DH,GZ0EoB,KY1DzB,EiBkBQ,QjBjBJ,IAAG,MAAM,KA+BL,IAAG,SAAS;AZ2B5B,AoC5EA,ErCkFwB,AHFpB,AYzBQ,AILQ,AQcR,AQdA,OAAA,C7BgCY,CS3BH,EAAT,CRqBG,GAAE,AoC1Eb,EhBDC,CRiDe,EQjDZ,CpB2EgB,EAAC,EoChDjB,IhB3BS,AgB2BN,CpCgDsB,IoB3EX,ExB+ElB,GwBhBS,aACG;ApBYhB,AOdgB,ActDhB,AMgCQ,AExCJ,E9BkFoB,AHFpB,AYzBQ,AoBLA,AQtBA,EhBqCQ,OQfR,E7BgCY,AS3BZ,CRqBG,AqBjCX,EdzCA,CP0Ea,AoBXG,CSjEf,AO4BO,E7B1BL,CsBFC,E7B4EgB,CqBhChB,CrBgCiB,IOrEjB,AoB0BJ,AERI,CjCuDJ,EIJ6B,C2B3C1B,KpB2BM,CoB3BA,KAOJ,CpBsBQ,CsB1BL,QFKA,WAII,MAAK;A3BgCrB,ACGA,AWhFI,A2BoBY,E3C6DZ,AWlBgB,AclBR,AMCQ,ACKR,ACdI,AORJ,U7BkCQ,EPcL,A2B/BK,E1BkCH,CDHA,CoChDL,CPQI,CRQJ,CT7CP,AgBmDO,AWnDP,EvC6EmB,CY7EhB,A2BAA,CvC6EiB,GuC7Eb,C3BAC,ChBiFT,EIJ6B,CuClEzB,I3BKA,G2BLM,KACF,E3BKA,IAAG,A2BGE,M3BHI,G2BcD,E3BiBJ,IAAG,C2BhBK,IAAG,I3BgBC,KAER,A2BlBgB,M3BkBX;AbnDzB,AC+EA,ACGA,AOlFA,EZmFI,AgB/BoB,AQYZ,ACjBA,AOMA,AQtBA,AGGgB,MAAA,EXmBhB,CPNA,GrBgCG,ED5DX,AE+Da,AOnCb,CRgCa,CY3BO,CQnDnB,GxBkFD,AwBlFI,CpB8EgB,CQrBhB,CRqBiB,IDpCjB,EqB1CS,CpB8EgB,ECGE,EmBjFb,KA+DT,MrBuBD,OqBnBI,CgBrCJ;A7BoCA,AsBlER,E9BuFY,ACRZ,ACGA,AOxBQ,AINY,ASLZ,AOMA,AWnBgB,EnBkCR,MmBlCQ,GlBahB,CpBmCR,AOxBQ,EDxDR,CRqFY,AqBnBI,CRhBI,AiBpDnB,EtBEE,CsBFC,E7B+EJ,MOxEI,AsBiCA,IAAG,GDaC,ErBaC;AXmBb,AwCtFA,ErCyFgB,AELZ,AMhBY,AKdQ,AgBCZ,ACbA,AUNgB,StCgDxB,AMhBqB,CgChCG,CxCqDZ,AQrBA,I6BlEZ,EPwCQ,EjBYY,MwB1BhB,CR2BI,GQ3BD,KAIC;ApCmDZ,AQnFA,AaSA,EzB8EI,AKFA,AMhBY,AaLJ,AQRA,AQvBI,UnCoDZ,EDFW,AqBvCX,EbGA,CRoCc,EoBlFb,CxBsFD,AWlBY,A6BpCA,EhBhCR,EZyDA,AabA,OD5CS,EZ2DL,EoBJA,CRvDU,GZ2DL,EYIJ,ECfD,EbWW,SYWP,OAAM,KACF,MACI,IAAG,OACC,IAAG;ArB1E/B,ACoFA,AYnFI,AiBAA,AUsCgB,EtC+ChB,AMhBY,ACTA,AaXA,AOOJ,AQvBI,EhByCgB,SbLhB,AcpBA,CrBkCD,AQvBC,ET1CZ,CCiEc,CoBTc,AS1E3B,AOiCW,EnCoDZ,CWrFC,AiBAG,AUAH,G3BAG,A2BAA,GXwDI,CWxDA,CxC0CJ,Aa1CK,AiBwCL,IAAG,AU7BH,I3BKA,EiB0BI,CU/BE,CV+BD,IU9BD,CV8BM,C9B4CN,AarEA,IAAG,A2BGE,IxCqED,EaxEK,EbwEF,CwCnDE,E3BUL,C2BVQ,G3BUL,SAAS,KAER,MAAK,KAID;AZ8BxB,AJKA,EGCoB,AEJhB,AMhBY,ACTA,AINY,ASLZ,AOOJ,ACdI,AUDQ,EnBiCQ,IxBcxB,GGCY,AQpBJ,AcpBA,CQPA,C5B2CZ,CDFW,CuC1CS,C3BaI,CZ6BV,CQvBF,qBYcgB,OQlBpB;A5B4BZ,AoCtFA,ErC4FoB,AHDhB,AWnBY,AKfY,AgBEhB,ACdI,AUDQ,UhC4BR,EPcD,GAAG,AoCpFd,EG0CoB,C3C+CpB,CgBlCwB,CiBZZ,KOjBR,IAAG,KAIC,ER2BA,M7BiCQ,AqCzDJ,QAAO;ApCoDvB,ACGA,AO3BgB,AatDhB,EzBmFI,AWnBY,AKfY,AQMhB,AgB5BQ,AGSI,Q3C+CpB,EwCxDgB,C7BqCJ,CPcD,AqB3CX,EpB8Ca,AO3Cb,CRwCc,CY7BU,CQzDvB,AmB4CmB,GnB5ChB,EZyDA,AabA,OD5CS,EZ2DL,GY3DU,GZ2DL,EYIJ,ECfD,EbWW,OAGN,EYQD,CCnBA,MDmBM,KASF;ArBaA,ACLpB,A4BxBY,AC/DR,EjC4FA,AKFA,AMjBY,ACVI,AILQ,ASNR,ED4BI,OxBYpB,EyBxCgB,CrBmCL,EDrEX,CCqEc,AoBPM,CShFnB,GtByEW,AsBzER,GD+D8C,ChBL1B,EXgCxB,EFhDI,A8BFA,IAAG,MAMC,Q9BwCA,QAGI,IAAG,OAGE,wBS7BD;ARyBpB,AoCnDgB,AGEQ,ExCsDA,AHApB,AWnBY,AKfY,ASNR,AOwCpB,AC9CgB,QtB2BA,IPcD,A6BzCC,G7ByCE,AoCvFd,CxB0DwB,KhBkCxB,AgChCA,CPRgB,AkBd8C,GxCsD1C,AqClEhB,IAAG,GRmCH,EQ/BI,QAMK,ERyBG;A5B2BpB,ACIA,AO9FA,EZ+FI,AWnBY,AcrBI,AQNJ,AOVI,AG2IpB,EXjHgB,ShC8BZ,AiC9CY,C7ByCD,AqBnCK,EpBuCH,AO/Cb,CR2Cc,MuCzFb,C/ByDG,E+BzDA,CXgEQ,GWhEJ,EHsCQ,C5BqBR,CPkCuB,CsClF3B,ChCgEQ,GChBC,G+BhDH,G/BgDS,E+B/CX,K/BqDI,C+B7CC,G/B6CE,M+B3BE,GAAG;AxC0DR,ACNhB,AY7BwB,EhBkCpB,AKDA,AMlBY,ACVI,AqBjBJ,EUTY,UvCkDb,AJKX,EKDA,CDJc,AuClDU,E/B0BR,EIlEf,GbgGqD,AahGlD,IL4EQ,CK5EH,QAgBL,EiBiCQ,QjBhCJ,IAAG,MAAM,KA+BL,IAAG,SAAS,KAER,MAAK,KAWA;AZ8BzB,AqBnFA,AegCgB,ErCqKhB,AH7GI,AKDA,AMlBY,AKfY,AiBZZ,SAAA,EjBYY,CZ6Bb,ACIX,AoBpDA,GrBgDc,AoC1Fd,CrCiBA,EH8EA,IyBpDI,GejBA,IrCeA,AqCfG,I7BkDK,C6B9CJ,OfiBA,CeRK,KrC8CL,MsB9BI;ArBoChB,AQzBoB,AoBpEpB,EhCkGI,AKDA,AMlBY,AcrBI,AQNJ,AOVI,ErCwDA,KEDhB,ELCS,EAAT,CGAgB,ACLL,CqBnCK,CbXhB,CR8Cc,A6BzCF,IDUZ,GpBJI,GDqBQ,KqBXR,AQ1BY,C5BkBR,MAAK,MAAM,IoBSX,GpBHI,EoBGA,EpBHG,KAEE;AR0BrB,AY7BwB,A2B1BJ,E3C4DhB,AKDA,AMlBY,ACXQ,AoBCR,ACjBA,M5B6CZ,ILCA,AiC9CY,E7ByCD,GAAG,A4BxBF,GpBDQ,CIpEnB,A2BAA,G3BAG,A2BAA,IAAI,C3BAC,I2BWL,I3BKA,G2BLM,KACF,ChCmEI,CK9DJ,IAAG,A2BGE,M3BHI,G2BqBA,E3BUL,C2BVQ,G3BUL,M2BHK,G3BGI,C2BHD,I3BKP,MAAK,KAcA;ASxDzB,AemCgB,EpCmDZ,AJKA,AKDA,AMlBY,ACXQ,AIJI,AiBZZ,AUPY,S/BuBJ,EP6BpB,CoBnCA,Ge9DA,CG6CwB,C3BmBA,CZ6BxB,EJKA,KwCxEI,IAAG,KAIC,E7BiDI,M6BrCC,SPUD;A9BtDhB,A6ByEgB,EPRR,AQVQ,AOVI,crC1BhB,CsB8CI,CQVQ,MDkB0C,K7B9BlD,EqCEY,gBrCwDR;ACHZ,ACIA,AMlBgB,ACZI,AIPI,A2B1BJ,ExC+DJ,AsBpCR,AO4BR,ACtCgB,AOVI,SrCwDJ,GCJD,AqBhCP,EpBoCS,AMnGb,AC4CA,AqBSY,ItBrDT,A6B2Ca,CxB7Cf,A2BAA,EX6DD,CpBJI,AIzDA,A2BAA,IAAI,ChCOJ,AKPK,IJ2DD,A+BhDJ,CtC0F0B,A2BlC1B,GhBnDA,CLkEK,CCvBI,C+BhDH,K/BgDS,A+B/CX,E3BKA,CLiEW,GACN,AKlEF,AgBsDH,AWnDK,C/B6CD,IAAG,CIhDE,G2BqBA,C/BiCA,CIvBL,C2BVQ,G3BUL,M2BAK,G3BAI,G2BCA,E3BCR,MAAK,A2BAO,IAAG,C3BcV,OAEG;AhBuC5B,EIPI,ACIA,AMlBgB,ACZI,AILQ,ASDxB,AQVQ,AULoB,EXsBhB,O3B6BhB,AMlBgB,AclBZ,AkBf4B,G3BgBJ,EZ+B5B,IQ1BoB,AoBCJ,EhCgCE,IiCjDN;A9BzDhB,AqCAA,EpCoGI,AJOA,AKHA,AO9BoB,AaNhB,AQVQ,EDiBI,OpBDI,CaNhB,EpBoCJ,EFrFA,CCiFA,AoClGA,CPwDY,GDiBI,MQzBZ,ErCPA,UHgEJ,QGHQ;AQxGZ,AKuEwB,A2BhCJ,ExCkEJ,AEAZ,AoBpCI,AQVQ,AORJ,OnCsDR,AoBpCW,KtBoCC,A8B9CA,EtB+BZ,KKzFC,AwBkDO,AGlDP,G3BAG,A2BAA,ElBoEA,EkBpEI,C3BAC,I2BWL,I3BKA,G2BLM,KACF,E3BKA,IAAG,A2BGE,M3BHI,G2BqBA,E3BUL,C2BVQ,G3BUL,M2BAK,G3BAI,G2BCA,E3BCR,MAAK,A2BAO,IAAG,C3BoBV,M2BlBW,EAAC;AvCkDrC,AJOA,AY9GA,EP0GI,AMfI,AKlBoB,AiBbZ,AORJ,AGE4B,SAAA,EtCoDpC,CDHW,EQvBX,EDWI,A6BvCI,IxC0DU,AY9Bb,MqBpBO,ErBqBR,OZ6B6B,EY5BzB,KITgB;AbzE5B,AsBsEQ,AOtER,E5BwGI,AJOA,AY5BY,AqBtBA,AORJ,crCwDR,E8BhDY,GDCZ,EpBqBY,CabkC,CejBtC,OR0BJ,E5ByBJ,kBJOA;AKFJ,AM7GA,AK2EwB,A2BbJ,ExCgDZ,ACLJ,AJOA,AY5BY,AaHhB,AODY,AClBI,AORJ,cpCmDR,ACIa,AMhBb,Ac7BA,EboBY,A4B9BJ,ErCwDJ,A6B9BI,ChB/EP,GAAG,A2B6DsD,K3B7DjD,KX4GqB,GW5F1B,EiB6CQ,KjCkDZ,GgB9FQ,IAAG,MAAM,KA+BL,IAAG,SAAS,KAER,MAAK,KAwBA;EboCjB,ACLJ,ACIA,AMhBI,AKlBoB,AgBKhB,AClBI,AUmHhB,ElB3GY,ItBwCJ,E6B9BI,I3B6BR,EoBvCQ,CrBmCR,COZI,KgC7FH,E3B2EuB,C2B3EpB,IAAI,KAWJ,OVmDQ,AUnDF,KACF,MAgDK;A3CsDjB,AYnHA,A4BAA,ErCgHQ,AEDJ,A2B7BQ,EWnBY,MxCiDhB,AEDJ,C2B7BQ,KpBFR,C4B9EA,K5B8EK,A+BjBe,KHNhB,G5BwBA,SAKI,E4B5BA,E5B4BG,E4B5BA,KACC,EAAC;ApCkDjB,AO7GA,AKCI,AiBDJ,E9BiHQ,AHGJ,AKJA,AOzBY,AoBJJ,AQvBQ,EGII,ItCgDpB,EFCI,ICJO,C4B1BH,CrBaR,EsB7BA,ErBoBY,A4B3BI,CxB3Df,E2B+DmB,C3B/DhB,KAAK,QAgBL,UAgEI,IAAG,SAAS,KAAK;ASxE7B,EtB0GQ,ACLJ,ACGA,AMhBI,ACTQ,AINA,AiBdR,EjCiDA,OGFA,AS3BQ,EPyBZ,CLII,AyBrDJ,CTkBY,EZ4BZ,GObI,AsB7BA,6BRKA;AOzER,AQ6DoB,ErCuDZ,AS3BQ,AINA,ASTJ,EzB4CJ,QY7BQ,KINA,AwBjFZ,CrCkHI,EsB1CI,COZR,EhCwDuB,IwC7DnB,KRsBA,SAKI,AQ1BA,ExC4DJ,EwC5DO,ER0BE,GQzBD,EAAC,KAEI,MACG;ApCmDxB,ACGA,AMpHA,AsBAA,AUCI,ExCoHI,AajCQ,ASTJ,AOUI,AQtBY,ExCwDpB,OyB5CI,AOUI,G5B4BD,CJMI,CKHF,AMpBb,EKZY,AiBdZ,C9B+CI,EwCpHH,CVqEE,COPqB,CG9DpB,EhCiGA,EgCjGI,GVqEI,EU1DR,CtCwG0B,CLG1B,CiCjDa,IU1DP,GtCwG8B,EsChDhC,IAAG,OACC;A/BrEhB,ETsHQ,ACJJ,ACGA,AMlBQ,AcvBA,AOUI,ACfR,AUDY,OlBMR,IpByCR,AsC/CgB,CVCZ,ErBsBJ,CRqBA,GOfQ,ERmBJ,sB6BhCQ;AhBrFZ,AwBDJ,ExCyHI,AKHA,AMlBQ,ACNJ,AajBI,AkBNQ,QtC+ChB,GMlBQ,AcvBA,Ie3ER,C5B4FI,GI7FH,GAAG,GwBwDA,ExBxDK,QAgBL,A2BsDY,IHHR,MxBaA,IAAG,SAAS,KAAK,SAIb,MAAK;AbrFrB,ACqHA,A4B9BgB,ACvFhB,EtBqGY,AKfQ,AwBjBJ,ExCqDR,OWrBI,GPgBG,AJKP,CwCrDQ,CrCwCZ,EavBgB,AiBhBhB,GDRA,CCQG,SAAS,CDSR,G7BwCA,C8BjDa,KDcT,CCZJ,EAAC,C9BgDG,E6BpCK,E7BoCF,A8B/CH,IAAG,CDcE,E7BiCK;AECtB,AOzHA,A+BCI,ExCwHY,ACHZ,AY/BgB,AgBCA,ACdJ,AOJA,ExCqDR,SiCjDQ,G9B+CA,AEAC,AO5Bb,CRyBA,GoChDY,CxBiBI,A2BtFf,E3C0HsB,CY5BnB,A+B9FA,GXuFY,CWvFR,KAWJ,CtC6G0B,KLE1B,C2C/GM,GtC6G8B,EsCrDhC,IAAG,OAKC,EAAC,OAAO;AhCzExB,ER0HgB,AEAZ,AO1BQ,AqBrBI,AOJA,AGGI,E3CkDZ,OGFQ,AEAZ,EmCnDY,ExCqDG,A2ClDC,ChCsBhB,CCAQ,SDEJ,CsBvBQ,MjCiDR,8BWtBI;APmBZ,AYxHI,EX0HA,AMpBY,A6B/BA,AGGI,QHHJ,EnCmDZ,EDFW,MOlBC,AgC5BI,C3B1Ef,GAAG,KAAK,QAgBL,UAgEI,IAAG,SAAS,KAAK,SAIb,MAAK,KAGD;AbxFpB,ASAA,AqBoFY,E7BsCR,AOlBY,AKfQ,A2BbJ,QAAA,ChC4BJ,KRKZ,ACaA,AQ7BA,AIJoB,QJShB,AqBd8C,W9BmC9C,UAKI,SACI;AHGhB,AKFA,AmC9HA,ErC8HoB,ACHhB,AOlBY,ACNJ,AITY,AiBiDxB,AU9DoB,OhC4BJ,GgC5BI,ItCiDH,CDHb,AoCzHA,CrC4HgB,A8B5ChB,ErBiBQ,CITY,MwBfhB,IPQC,G5B2C0B,SmCnDZ,KPUP;E9B0CI,AHEhB,AKFA,AMrBY,ACNJ,AITY,AwBfZ,EPUQ,StBoBJ,GsBpBI,CrBcR,CP2BR,AWpCoB,EboCJ,OqCnDR;ApCkDZ,AuC7CQ,E/BoBI,AITY,EhBsChB,UIJO,AJIP,EY7BI,Q+BpBsC,C3BW1B;AboCJ,ACDpB,ACGA,AMlIA,A6B+EI,ExBcoB,A2BqFxB,E3C/CQ,UIJO,EDlBX,AEqBa,AMlCb,C6BjBC,CxBcmB,EwBdhB,GxCoDmB,A2ClItB,EH8EQ,C7BmBL,AgCjGA,IAAI,ItCiIuB,CFX3B,QHYA,EGPI,SACI,SQjBJ,MRoBS;ACArB,AQhIA,AqB6FA,E9BoCwB,AEEpB,AMtBY,A6B7BR,ExCoDA,A2ClDI,UvC8CG,CJII,CYvCf,EToCoB,CwC/CZ,ChC2BI,ICNR,GP4BJ,AmCnDI,QxCoDA;AIHR,AYlCoB,EbmCI,AQpBR,ACNJ,AqBVR,AObI,O7B6BQ,KPmBD,AQzBH,A4BvBJ,IrCiDgB,GajInB,GAAG,IiB6FJ,CjB7FS,QAgBL,UAgEI,IAAG,SAAS,KAAK,SAIb,MAAK,KAUA;AZmCrB,ACIA,EFHwB,AHGpB,AWvBY,AKfQ,AiBDpB,WjBCoB,CZkCT,AOnBC,ENuBC,MFHO,E8BpCpB,U5BuC+B;ADHnC,ACIA,AOvIA,A4B+EI,AG9EA,EhC+GY,AsBhBZ,EjCuCI,SWvBQ,CPmBD,AJIP,EKAS,AO1Cb,C4BdC,GAAG,CG9EH,G/BsGG,A+BtGA,CV+FJ,AOjBS,GG9ED,I/BwGA,C4BvBJ,AGEA,CtCmD2B,EO9BpB,C+BrBJ,MAAM,G/BqBQ;ATzGzB,ACoIA,ACIA,AWtCoB,EJQJ,AqBTZ,AOdQ,AGEA,E3CmDJ,UIJO,AQ1BC,ETGZ,AE2Ba,E4BvCb,AUZQ,G3BpFP,EhBuIsB,CgBvInB,EwBkFI,GxBlFC,KXuIsB,CFjB3B,EatGA,EhBuHA,MGZI,Ea3CA,IAAG,GbqDC,MarDQ,KAAK,SAIb,MAAK,KAaA;ALlGrB,ERuIoB,ACFhB,ACIA,AWtCoB,AiBDpB,EjCuCI,QiCvCJ,G9BqCgB,AHED,CIJf,AOrCA,GKGoB,OLDhB,ENuCJ,KLAI,8BW7BI,mBAKI;ACNA,A4B5BZ,AGWQ,ExC8CQ,AEEhB,AMxBgB,AsBfhB,SAAA,EtBegB,CRsBA,ES3ChB,C4BdC,GAAG,I5BwBA,A+Bb8C,CtCgDlD,AmC3DS,O5B0BD,C4BpBJ,G5BoBO,UAAU,SAER;AR6BjB,AYtCoB,EbwCA,AEChB,AMxBgB,ACPA,AqBRhB,AOgBQ,AG8DZ,ShC/DoB,GPqBL,KoCpBH,CrCsBQ,AEChB,A4BvCA,CjBnGC,E2BuFD,C3BvFI,KAAK,MJ2GO,EI3FZ,C2BwEC,GAAG,M3BRA,IAAG,SAAS,KAAK,SAIb,MAAK,KAaA,OAEG;AhByCxB,EGFoB,ACFhB,AYpCwB,AwBgBhB,EG1BI,OxCgDI,GatCQ,IZoCxB,EuC9CY,gBH0BJ;AnCyBZ,AM9IA,ACgHQ,AqBnBR,E9B+CoB,ACFhB,AJIA,E2ClDY,MxCgDI,IHEhB,EKAa,AM9Cb,ACHA,CR6CA,CuC9CY,IVSZ,ErBWK,EDdD,QN4C2B,6BMlCvB,mBAKI,YAGI;AKZA,AwBzBhB,ErC8DgB,AHEhB,AKAA,AM1BoB,ACJZ,E+BpBI,KxCgDI,ES5BC,EDIG,ACJZ,EZ8BR,EwChEC,GAAG,CxB9EH,C2B4FW,E3B5FR,CwB8EK,EnCgET,EW9IS,IwBoFL,IxBpEA,QwBqEI,ExBLA,IAAG,SAAS,KAAK,SAIb,MAAK,KAmBA;AZqCrB,EDCoB,AHEhB,AW1BoB,ACJZ,AIRY,AiBHhB,AOhBQ,EGOA,S/BoBJ,CR2BG,GAAE,C6BtCT,E9BuCY,GHEhB,CW1BoB,AgCxBR,OHPA,axBmBQ;AXwCxB,EFHoB,ACDhB,AJGA,AW1BoB,ACJZ,A4B3BI,Y7B+BQ,EPuBpB,ACIa,AO/BL,ET4BQ,MHEhB,UKC+B,UmC1DnB,EnC0D8B;AWjJ1C,AiB4FJ,E9BmDoB,ACDhB,AJGA,AKCA,AmC1DY,AGMA,SvCgDH,EAAT,IoCtDY,GrCuDsB,Ca/IjC,CiBwGD,CUjBA,C3BvFI,CiBwGF,CjCyCF,CKCA,EWlJS,QA+GL,C2BvBC,GAAG,SAMK,KAAK,iCxCiDF;AQhJpB,ACAA,ETiJoB,AahCR,AiBPJ,AOhBQ,EGMI,QAAA,EHNJ,E7BMZ,ACsBA,EqBZI,E9BuC8B,AahC1B,EJKH,IDpBD,qCAUI,mBAKI,GRgCI,SQxBA;APyBpB,ACIA,EFJoB,AQxBI,ACHhB,AILI,AiBPJ,AOhBQ,WxBuBJ,CZgCG,AoCvDC,C7B+BQ,CN4BP,CDJA,GDAqB,S8BvC9B,ErBYA,GP+B0B,iBAAkB,gCFJhC;EACA,ACAhB,ACIA,AWpCQ,AiBPJ,AOhBQ,YxBuBJ,CwBvBI,CpCuDZ,IDAkC,OEIlC,G4B3CI,kD9BuCY;ASnJpB,A+ByFQ,EvC2DJ,AYhCQ,AwBvBI,OxBuBJ,IZgCR,GQ9BA,E4BzBY,GGLZ,C/B8BK,KAED,S+B/BC,GAAG,SAUA,QACI;AxCiDA,A8BxDhB,E7BwDI,AQ5BQ,AIJA,AwBvBI,AGOI,SvCgDP,AYhCD,EZgCR,EuChDgB,CxCQhB,ISYQ,A4B3BI,EPgBZ,GAAE,U9BSE,UAKI,SAyBK,MACG;AEOpB,EFNwB,AajCZ,AiBPJ,c9BwCgB,AEMP,WWvCL,KiBPJ,E5B8C0B;ADLlC,AQ5BoB,A4B7BJ,AGNR,EtCqEJ,A4B9CI,W5B8CJ,CDNW,EQlCX,C4BvCC,GAAG,CGSJ,C/B8BK,G4BvCI,E5ByCL,MqBRA,AO3BA,G5BqCK,A+BjCJ,GAAG,I/BkCI,E4BrCJ,GGkBA,KHTK,C5B4BU,OAAM,KACZ;ATiCjB,Aa5JA,EZwJA,ACMA,AOlCoB,A4B7BJ,AGSJ,WvCgDZ,KQ5BoB,CPkCpB,CsCtDY,C3BxGX,Gb4JyC,Aa5JtC,KAAK,IwB+FO,IxBgBZ,YAOI,IAAG;AiB1Bf,E9BiHA,ACpDI,AQ5BoB,AINR,A2BdA,UvCgDZ,EYlCY,C2BdA,GxCoDR,AShCgB,IqBZpB,GAAE;A5BgDN,A4BrEA,AOKgB,EpCyDZ,AQ5BoB,AINR,A2BdA,ExCoDJ,OwCpDI,KvCgDZ,ACOa,CFHL,AqChFP,CxB0CW,EwB1CR,E5BgDgB,AqBZpB,GOpCS,QAML,CnC6E0B,WmC5EtB,QAYK;EpC0Db,ACOA,AWzCY,AiBNR,AOjBY,AGSJ,UtCuDZ,KsCvDY,UvCgDZ,AYlCY,AiBNR,MOjBY;A5BnGpB,ET8MA,ACjDI,ACOA,AsCvDY,OAAA,EvCgDZ,KQvCA,ET2CI,AEGJ,IO9CK,KAED,SAWI,SAAO;AIPC,AiB/BpB,AOQgB,E5B+BA,A+BtBA,ExCoDJ,SS9Be,C+BtBX,GH/BX,ErCmFO,CqCnFJ,CxB9EH,CiBqHD,EjBrHI,AiBqHH,COvCQ,IxB9EA,CJmIG,G4B/CR,IxB2BA,QwB1BI,IxBiCA,IAAG,AwBlBE,KxBsBD,QACK;AZoCrB,ACOA,EW1CwB,AiBNhB,AOjBY,ErC6DR,OAAA,GCHG,ECOE,C4BhDT,GjBMgB,awBvBJ,CnCiEc,SAAU;AOvK5C,A+BgHoB,EvCiDhB,ACOA,AW1CoB,EbsCZ,QAAA,EatCY,EJRpB,CPkDA,IsChFA,C/B8BK,KAED,GRyCJ,MQ3BQ,A+B7CH,GAAG,Q/B6CW,C+B9BX,M/B8BiB,U+BvBb,MACK;AVnBrB,AOYoB,EpCyDhB,AQ3BY,AIRQ,A2BdA,ExCoDZ,MwCpDY,GxCoDZ,IqCtFP,CxBgDmB,EJQR,A4BxDR,EP0CJ,G7ByCA,A6BzCE,AO1CO,QAML,UPqCA,EOpCI,QAkBK,MACI;AnCkErB,EOnCgB,AqBbJ,AOjBY,AGQA,ExCoDZ,SAAA,AwCpDY,CVSZ,E5BgDK,AmCjEO,C5B8BR,iBPmCkB,SAAU;ADN5C,AYrCwB,EX4CpB,AOnCY,ET8BJ,UCFG,ICOX,AOnCY,CR4BG,EYpKd,GAAG,GbsKI,EatKC,QA+GL,YAOI,IAAG,KAIC,QACK,WAII;AZsCzB,A6BzCQ,AOjBY,AGQA,E/BsBJ,AITY,EbuChB,MavCgB,IZqCb,GoCvFV,C5B2DW,CR4BG,CoCvFX,CGSJ,CViCA,GAAE,AO1CO,GrCyFD,KqCnFJ,GGIC,GAAG,IVoCH,EOvCG,GGkBA,CVqBI,IOrBC,MAII,KGGL,MAKK,iBAAiB;AvCmDtC,A6BzCQ,ErBaQ,A4B9BQ,AGQA,QAAA,IvCkDT,EoC1DS,GpC0DL,CQ5BH,EqBlBZ,GAAE,M7B8C0B,Y6BzCvB,OAAQ;A7B0CjB,ACUA,AWtDoB,EbkFpB,A8B/EY,Y7ByCG,A6BzCH,E5BmDK,EFjBT,CCOW,EYvKd,GAAG,KAAK,KXiLqB,GFTtB,AazDJ,MXkEmC,MW3D/B,IbmDI,AanDD,IbmDI,Ca/CH,Kb+CS,GEQ0C,AWtD9C,Kb8CY,MavCT,EbuCiB,QavCR,EbuCkB,KAAK,QAAQ;ACDhE,AQ7BgB,A4B7BI,AGQA,EtC4DhB,AW/CwB,EbuCR,SEQhB,CDVW,EQnDX,C4BvCC,ErC4Fe,ACFD,CYrCS,AwBrDpB,CGSJ,C/B8BK,G4BvCI,E5ByCL,M4BnCA,G5BiDI,A+B7CH,GAAG,MHHA,E5BgDW,C+B9BX,KHAK,C5B8BY,KAMZ,A4B7BI,KGAL,C/B8BI,K+BtBC,cAAc;AvCmDnC,A6BtCA,ErBUwB,AITI,AwBrBJ,AGQA,ExCoDJ,MwCpDI,E3BaI,EZqCb,EQ5BS,A4B9BA,GpC0DL,CDEC;ACDpB,ACWA,EWhD4B,AiBDxB,SjBCwB,GZqCb,ECWE,GDXE,C6BtCf,c5BiD8B,SAAS,uBAAwB;AOtLnE,A4B+EI,AG4CY,ExCmFhB,AClCI,ACWA,A4BjDA,SAAA,C5BiDA,GDXA,CQtDA,C4BvCC,CrCiGG,EqCjGA,E5BuCC,E+BKiD,CH5C7C,E5ByCL,M4BnCA,GrC4FI,AS3CA,S4BhBA,E5BgBW,C4BhBT,GAAG,G5BgBY,KAWb;ER4BZ,AQ3BgB,AqBXhB,AOhBY,AG2DhB,ExCAgB,OqC3DA,CPgBZ,GrBWgB,CR2BhB,OuCrFA,ExC0FY,awCzFP,GAAG,SAeA;AtCkFZ,EOvCoB,AqBXhB,EUZgB,U/BuBA,EPuCH,C4BlDb,AUZgB,iBtC8Dc,SAAS,uBAAwB;ADVnE,AoCjGI,EnC4GA,AOvCgB,AqBXhB,W5BkDA,CDXW,EAAC,CoCjGX,CP0DD,EO1DI,KAAK,GpCiGgB,KoC3FrB,K5B+DY,O4B9BR,GAAE,GAAG,OAED;ArCxHhB,ACiLA,EQ5BoB,A4B5BA,WAAA,CpCwDL,EDKX,ACLY,IQ5BI,QR4BS,MDMrB,MAAK;ACLb,ACYA,AsCrGQ,ExC+FI,ASlCQ,A4B5BA,S5B4BA,GR4BL,AoCxDK,EpCwDJ,ACYC,KsCtGb,MxCgGQ,CCNiB,MCYK,EsCrGzB,GAAG,ItCqG+B,KsCtF/B,gBAsBI,EtCgEmD,iBsC/D/C,MACI;AvCmDxB,ECYI,AOxCgB,A4B5BA,AGMQ,Q/BsBR,C4B5BA,CnCoEhB,EDZW,EAAC,EuClDY,UvCkDC;ADnL7B,ACoLA,EQ5BoB,OAAA,KR4BL,EDEX,ACFY,YAAa,MDMrB,OAAM;ACLd,AoCtGI,AGuDQ,ExCqDA,ASlCQ,YR4BL,EAAC,CoCtGX,G5B0Ee,A4B1EZ,IGuD8C,CHvDzC,GrC4GD,ACNiB,KoChGrB,YAyCI,EAAC,MAAM;AnCuEnB,EDfI,AQ5BgB,A4B3BJ,AGmDhB,avCII,ECec,CO3CE,E4B3BJ,GGvCZ,eACK,GAAG,SA8CI;AxCyDhB,AEMA,EDfI,AoCvDY,EGQI,SHRJ,GpCuDZ,CCec,AsC9DE,kBtC8DgB;AOtMpC,ETiMI,AEMA,AmCtEY,SAAA,K5BXZ,EPiFA,EFNA,ES3EK,KAED,SAcI,WAAW,OAAM,KAsBb;AR8BhB,EDQI,AEMA,AO3CgB,A+BqBpB,YvCQe,ACcX,GDdc,MDQd,ASrCgB,A+BrEhB,eACK,GAAG,SAiDI,YAAW;AvCiD3B,AoC3LA,ErCmMI,AEMA,AO3CgB,E+BnBA,OxCwDhB,AEMA,GDdW,GAAG,AoCtDd,GGMgB,Q/BmBA;AR8BpB,EDQI,AEMA,AO3CgB,A4BzBZ,EGMY,KxCwDhB,GEMA,EDdW,GAAG,GoCtDV,CGMY,G/BmBA;AR8BpB,EDQI,AEMA,AO3CgB,A4BzBZ,QrC8DJ,CqC9DI,GpCsDO,GAAG,GCcd,MO3CgB;AR8BpB,EDQI,AEMA,AO3CgB,A4BzBZ,OAAA,IrC8DJ,AEMA,CDdW,GAAG,MQ7BE;AR8BpB,AuCtGQ,ExC8GJ,ASrCgB,A4BzBZ,QAAA,IpCsDO,GAAG,GDQd,CwC/GA,E/B0EgB,a+BzEX,GAAG,SAsDA,MACI,UACI,EAAC,KAAK;AtC8D1B,EFPI,ACRA,AuC9CoB,avC8CpB,ECec,GsC7DM,OxCsDpB,QEOgC;AO1CxB,A4BrKZ,ErCyMI,AEOA,AsC7DoB,UAAA,ItC6DpB,AO1FA,C4BeA,K5BfK,KAED,E4BkBA,IAAG,G5B2BE,CToCT;ACNJ,ECcI,AO3CY,A4B3BJ,AGSY,QAAA,IvC+CT,ACcX,GDdc,CoCxDN,CpCwDO,cQ7BH;AToCZ,ECNA,ACcA,AmCtEQ,OnCsER,cDdA,CDM0C,iBqC9DlC;A5B2BI,A+BfI,ExCsDpB,AEKI,MAAA,QO7FA,K+B9BA,C/B8BK,KAED,SA6CK,A+B5EJ,GAAG,I/B8EK,K+BxBL,MAQI,QACK,MACG;AvC8CxB,AoCvMA,EnCoNI,AO5CgB,A+BdQ,ExCiDpB,QSnCY,CP4ChB,CDbW,GoClEX,CrCsEI,KwCjDoB,MHhBpB,IAAG,KAGC,UAAS,KAAM;ApC2D3B,EoC1DgB,YpC0DD,IoC1DC;AnCyEhB,AO5CY,A+BlFJ,EvCgHJ,cQnFA,CPiGc,GDdd,CuCjHA,C/B8BK,KAED,QP+F4B,CO5CvB,A+BlFJ,GAAG,SAsDA,MAQI,QAMI;AH7JpB,EnCwNI,AO5CY,A+BdQ,atC0DpB,EmCnFA,YAKI,AGoBgB,I/BcR,A4BlCL,KAMC;ApC4DZ,EoC3DgB,YpC2DD,GAAE,UoC3DD;ApC4DhB,ACcA,AO9CgB,A+BpFR,cvCoHO,EQvFX,CRuFa,ACcC,IsCnId,C/B8BK,KAED,QPmG4B,COhDvB,A+BlFJ,GAAG,G/BoFK,M+B9BL,MAQI,QASI;AHhKpB,EpC8MI,ACcA,AO9CgB,A+BbI,U/BaJ,G+BbI,EH5BpB,MpCyEA,ICcA,EmClFI,IAAG,KASC,MAAK;EpC4Db,ACcA,AmCzEY,AGcQ,QHdR,EpC2DZ,ICcA,IsC3DoB;A/BeZ,EP6CR,AsC3DoB,UAAA,EtC2DR,EOxGZ,MAAK,KAED,SAyDK,8BP6CT;ADZJ,AoClNA,EnC+NI,AO7CY,A+BdQ,S/BcC,A+BdD,E/BcR,CRgCD,GAAG,AoC7Ed,GpC6EiB,IAAG,ECapB,GmCrFI,IAAG,KAYC,IAAG,OAAO;ApC6DtB,ECaI,AO7CY,A4B5BA,UnCyEZ,EDbW,AoC5DC,GpC4DE,GAAG,AQhCL,IRgCQ;AuC1HhB,EvC2HJ,ACaA,AO7CY,A4B5BA,M5B4BA,ORgCZ,EoC5DY,IGhEZ,OtCyIA,QsCxIK,GAAG,SAsDA,MAQI,QASI,WAKI,OAAM,SAAS,WAAW;EtC6D9C,AO7CY,A4B5BA,AGaY,U/BeZ,K4B5BA,QnCyEZ,GsC5DwB;AvCiD5B,ECYI,AO7CY,SAAA,GRiCD,GAAG,GCYd;ADXJ,AoCxNA,AGyKoB,EtC2DhB,AO7CY,YRiCD,GAAG,AoCnFd,I5BkDY,A+B/FZ,QHkDI,IAAG,GGjDF,EH6DG,CG7DA,EtC2IR,CmC9EW,MGPH,CHOU,KAIN,AGHA,QAkBK,CHfG;ApC+DxB,ECYI,AO7CY,A4B7BI,AGeI,Q/BcR,IRiCD,GAAG,AoC9DE,cGeI,OtC2DpB;ADXJ,ECYI,AO7CY,A4B7BI,AGeI,WHfJ,CpC8DL,GAAG,GuC/CM,gBtC2DpB,AO7CY;ERkCZ,ACYA,AO7CY,gBRiCZ,UQjCY,SP6CZ;AmCvOJ,EnCwOI,AO7CY,e4BtDZ,YAKI,InC8FJ,AmC9FO,E5BiDK,G4B5BJ,OAAM,KACF,IAAG,SACC,MACI;ApC4DxB,EQlCgB,A4BzBY,YpC2Db,IoC3Da,S5ByBZ;AP+ChB,EDZI,AQlCY,A4BzBY,UpC2DxB,KCYa,GmCvEW,GnCuEJ,kBAAkB,KO9C1B;AP+ChB,EO9CgB,eP8CE,kBAAiB,GO9CnB,cP8CqC;ADVrD,AoClOA,EnC6OI,YDXW,ACWC,GDXE,AoC7Fd,YAKI,IAAG,KAqBC,OAAM,KACF,IAAG,SACC,InC4EhB,EmC3EoB,QAGI,MAAK;A5B+BjC,ER+BI,ACWA,AmCxE4B,epC6D5B,GoC7D4B,OnCwE5B;EDVA,ACWA,AO1CA,A4B9B4B,QAAA,InCwE5B,MDXA,AQ/BA;ERgCA,AQ/BA,A4B9B4B,SAAA,QpC6D5B,IQ/BA;AP4CJ,EDZI,AQ/BA,SAAA,MP2Cc,GDZd,eCY+B;EDX/B,ACYA,AO3CA,OAAA,GR+BA,CCYA;EACA,AO3CA,QAAA,GP2CA;ADVJ,ECWI,AO3CA,OP2CA,IO3CA,CRgCW,GAAG,GAAE;EAChB,ACWA,AO3CA,URgCA,KCWA,GO3CA;EP4CA,AO3CA,iBP2CA,QO3CA;ARkCJ,ECUI,AO3CA,WP2CA,CDVW,GAAG,GAAG,IAAG,aQjCpB;ERkCA,aAAA;ACYJ,AO7CI,iBP6Cc,OO7C4B,WP6CX;ADTnC,ECUI,AOTJ,YRDe,ACUX,GDVc,GAAG,IAAG;EACpB,ACUA,EO9CI,cRoCJ,ACUA,AO9CI;EP+CJ,UAAA;ADRJ,ECSI,MAAA,MDTW,GAAG;AQnClB,ERoCI,ACSA,UAAA,MDTA;EACA,AQpCA,eRoCA,AQpCA;EACA,SAAA;ARsCJ,ACWA,EOhDI,OAAO,KRqCI,GAAG,ACWA,GDXG,AQrCjB,IRqCoB,WCWW,SAAU;EDVzC,ACWA,AOhDA,QAAQ,GPgDR,EDXA,YQrCA;EPiDA,eAAA;ADTJ,AQrCA,EP+CI,SAAA,GDVW,GAAG,GAAG,IAAG,AQrCkB;ERsCtC,AQpCI,SAAC,ORoCL,WQnCQ,yBACI,MAAK;AP8CrB,IO7CoB,aP6CF,CO7CE,iBP6Ce,SAAU;ADT7C,ECUI,EO7CgB,QP6ChB,EDVW,AQnCK;ERoChB,ACUA,gBAAA,cDVA;EACA,ACUA,AO3CI,SAAC,CP2CL,IDVA,cQhCQ,yBACI,MAAK;ERgCjB,EQ/BgB,aR+BhB,CQ/BgB;AP2CpB,IO1CoB,UAAA,GP0CF,kBAAiB,SAAU;ADT7C,ECUI,SAAA,GDVW,WAAW,IAAG;EACzB,AQ/CA,SAiBI,IR8BJ,qBQ7BQ,MAAK;APyCjB,IOxCgB,aPwCE,AOxCF,kBPwCmB,SAAU;ADT7C,ECUI,UAAA,EDVW,WAAW,IAAG;EACzB,gBAAA;ACYJ,iBAAkB,kBAAiB,SAAU;ADT7C,ECUI,QAAA,IDVW,MAAM;EACjB,iBAAA;ACYJ,iBAAkB,kBAAiB,SAAU;ADT7C,ECUI,SAAA,GDVW,MAAM;AACrB,cAAe,MAAM;EACjB,yBAAA;ACcJ,EDbI,eCac,EDbd,gBCa+B,SAAS,uBAAwB;EAChE,WAAA;ADXJ,cAAe,MAAM;ACcrB,EDbI,eCac,UDbd,QCa+B,SAAS,uBAAwB;EDZhE,ACaA,UAAA,mBDbA;;AAGJ,cAAe,MAAM,GAAE,UAAU;EAC7B,yBAAA;;AAGJ,cAAe;EACX,eAAA;;AAGJ,cAAe,KAAI;EACf,cAAA;EACA,gBAAA;;AAGJ,cAAe,KAAI,MAAO;EACtB,yBAAA;EACA,cAAA;EACA,WAAA;EACA,gBAAA;EACA,gBAAA;EACA,YAAA;EACA,WAAA;;AAGJ,cAAe,KAAI,MAAO,KAAK;EAC3B,cAAA;EACA,WAAA;;AAGJ,cAAe,KAAI,MAAO,KAAK;EAC3B,WAAA;EACA,cAAA;EACA,cAAA;EACA,gBAAA;;AAGJ,cAAe,KAAI;EACf,WAAA;EACA,cAAA;EACA,gBAAA;;AAGJ,cAAe,KAAI,aAAc;EAC7B,cAAA;EACA,mBAAA;EACA,gBAAA;EACA,kBAAA;;AAGJ,cAAe,KAAI,aAAc,KAAK;EAClC,cAAA;EACA,kBAAA;;AAGJ,cAAe,KAAI;EACf,WAAA;EACA,cAAA;EACA,gBAAA;;AAGJ,cAAe,KAAI,YAAa;EAC5B,cAAA;EACA,gBAAA;EACA,gBAAA;EACA,iBAAA;;AAGJ,cAAe,KAAI,YAAa,KAAK;EACjC,SAAA;EACA,iBAAA;;AAGJ,cAAe,KAAI;EACf,cAAA;EACA,WAAA;EACA,kBAAA;EACA,gBAAA;;AAGJ,cAAe,KAAI,WAAY;EAC3B,gBAAA;;AAGJ,cAAe,KAAI;EACf,cAAA;EACA,YAAA;EACA,iBAAA;EACA,gBAAA;;AAGJ,cAAe,KAAI,YAAa;EAC5B,cAAA;EACA,mBAAA;EACA,gBAAA;EACA,iBAAA;;AAGJ,cAAe;AACf,cAAe;EACX,yBAAA;EACA,yBAAA;EACA,8BAAA;EACA,aAAA;EACA,cAAA;;EAEA,mBAAA;EACA,qBAAA;;AAGJ,cAAe,IAAI;EACf,8CAAA;EACA,mBAAA;EACA,SAAA;EACA,UAAA;EACA,gBAAA;;AAGJ,cAAe,WAAW;AAC1B,cAAe;EACX,yBAAA;EACA,yBAAA;EACA,8BAAA;EACA,eAAA;EACA,iBAAA;EACA,cAAA;EACA,iBAAA;;AAGJ,cAAe,IAAI;AACnB,cAAe,IAAI;EACf,6BAAA;EACA,mBAAA","file":"app-bundle.js","sourcesContent":["import 'tms-semantic-ui';\r\nimport 'semantic-ui-calendar';\r\nimport 'jquery-format';\r\n\r\nexport class App {\r\n\r\n constructor() {\r\n this.init();\r\n this.initCalendar();\r\n\r\n this.subscribe = ea.subscribe(nsCons.EVENT_APP_ROUTER_NAVIGATE, (payload) => {\r\n this.router && this.router.navigate(`${payload.to}`);\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n }\r\n\r\n init() {\r\n\r\n $.fn.dropdown.settings.forceSelection = false;\r\n\r\n // ui form 验证提示信息国际化\r\n _.extend($.fn.form.settings.prompt, {\r\n empty: '{name}不能为空',\r\n checked: '{name}必须被勾选',\r\n email: '{name}必须是正确的邮件格式',\r\n url: '{name}必须是正确的URL格式',\r\n regExp: '{name}验证格式不正确',\r\n integer: '{name}必须为一个整数',\r\n decimal: '{name}必须为一个小数',\r\n number: '{name}必须设置为一个数字',\r\n is: '{name}必须符合规则\"{ruleValue}\"',\r\n isExactly: '{name}必须精确匹配\"{ruleValue}\"',\r\n not: '{name}不能设置为\"{ruleValue}\"',\r\n notExactly: '{name}不能准确设置为\"{ruleValue}\"',\r\n contain: '{name}需要包含\"{ruleValue}\"',\r\n containExactly: '{name}需要精确包含\"{ruleValue}\"',\r\n doesntContain: '{name}不能包含\"{ruleValue}\"',\r\n doesntContainExactly: '{name}不能精确包含\"{ruleValue}\"',\r\n minLength: '{name}必须至少包含{ruleValue}个字符',\r\n length: '{name}必须为{ruleValue}个字符',\r\n exactLength: '{name}必须为{ruleValue}个字符',\r\n maxLength: '{name}必须不能超过{ruleValue}个字符',\r\n match: '{name}必须匹配{ruleValue}字段',\r\n different: '{name}必须不同于{ruleValue}字段',\r\n creditCard: '{name}必须是一个正确的信用卡数字格式',\r\n minCount: '{name}必须至少包含{ruleValue}个选择项',\r\n exactCount: '{name}必须准确包含{ruleValue}个选择项',\r\n maxCount: '{name} 必须有{ruleValue}或者更少个选择项'\r\n });\r\n }\r\n\r\n initCalendar() {\r\n $.fn.calendar.settings.text = {\r\n days: ['日', '一', '二', '三', '四', '五', '六'],\r\n months: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\r\n monthsShort: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\r\n today: '今天',\r\n now: '现在',\r\n am: '上午',\r\n pm: '下午'\r\n };\r\n\r\n $.fn.calendar.settings.formatter.date = function(date, settings) {\r\n if (!date) return '';\r\n var day = date.getDate();\r\n var month = date.getMonth() + 1;\r\n var year = date.getFullYear();\r\n // return year + '/' + month + '/' + day;\r\n return $.format.date(date, 'yyyy-MM-dd');\r\n };\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * 配置路由\r\n * @param {[object]} config 路由配置\r\n * @param {[object]} router 路由\r\n */\r\n configureRouter(config, router) {\r\n\r\n let chatTo = null;\r\n if (localStorage) {\r\n chatTo = localStorage.getItem(nsCons.KEY_REMEMBER_LAST_CHAT_TO);\r\n }\r\n\r\n config.map([{\r\n route: ['pwd-reset'],\r\n name: 'reset',\r\n moduleId: 'user/user-pwd-reset',\r\n nav: false,\r\n title: '密码重置 | TMS'\r\n }, {\r\n route: ['register'],\r\n name: 'register',\r\n moduleId: 'user/user-register',\r\n nav: false,\r\n title: '用户注册 | TMS'\r\n }, {\r\n route: ['chat/:username'],\r\n name: 'chat',\r\n moduleId: 'chat/chat-direct',\r\n nav: false,\r\n title: '私聊 | TMS'\r\n }, {\r\n route: ['blog'],\r\n name: 'chat',\r\n moduleId: 'blog/blog',\r\n nav: false,\r\n title: '博文 | TMS'\r\n }, {\r\n route: ['blog/:id'],\r\n name: 'chat',\r\n moduleId: 'blog/blog',\r\n nav: false,\r\n title: '博文 | TMS'\r\n }, {\r\n route: ['login'],\r\n name: 'login',\r\n moduleId: 'user/user-login',\r\n nav: false,\r\n title: '登录 | TMS'\r\n }, {\r\n route: ['test'],\r\n name: 'test',\r\n moduleId: 'test/test-lifecycle',\r\n nav: false,\r\n title: '测试 | TMS'\r\n }, {\r\n route: '',\r\n redirect: `chat/${chatTo ? chatTo : '@admin'}`\r\n }]);\r\n\r\n this.router = router;\r\n\r\n }\r\n\r\n /**\r\n * 在视图模型(ViewModel)展示前执行一些自定义代码逻辑\r\n * @param {[object]} params 参数\r\n * @param {[object]} routeConfig 路由配置\r\n * @param {[object]} navigationInstruction 导航指令\r\n * @return {[promise]} 你可以可选的返回一个延迟许诺(promise), 告诉路由等待执行bind和attach视图(view), 直到你完成你的处理工作.\r\n */\r\n activate(params, routeConfig, navigationInstruction) {\r\n\r\n }\r\n}\r\n","export default {\r\n debug: true,\r\n testing: true\r\n};\r\n","import environment from './environment';\r\n\r\n//Configure Bluebird Promises.\r\n//Note: You may want to use environment-specific configuration.\r\nPromise.config({\r\n warnings: {\r\n wForgottenReturn: false\r\n }\r\n});\r\n\r\nexport function configure(aurelia) {\r\n aurelia.use\r\n .standardConfiguration()\r\n .feature('init')\r\n .feature('resources');\r\n\r\n if (environment.debug) {\r\n aurelia.use.developmentLogging();\r\n }\r\n\r\n if (environment.testing) {\r\n aurelia.use.plugin('aurelia-testing');\r\n }\r\n\r\n aurelia.start().then(() => aurelia.setRoot());\r\n}\r\n","import { bindable, inject } from 'aurelia-framework';\r\nimport chatService from 'chat/chat-service';\r\n\r\nexport class Blog {\r\n\r\n rightSidebarShow = false;\r\n isHide = true;\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.subscribe = ea.subscribe(nsCons.EVENT_BLOG_VIEW_CHANGED, (payload) => {\r\n this.routeConfig && this.routeConfig.navModel.setTitle(`${payload.title} | 博文 | TMS`);\r\n });\r\n this.subscribe1 = ea.subscribe(nsCons.EVENT_BLOG_RIGHT_SIDEBAR_TOGGLE, (payload) => {\r\n if (payload.justRefresh) {\r\n return;\r\n }\r\n if (payload && !_.isUndefined(payload.isHide)) {\r\n this.rightSidebarShow = !payload.isHide;\r\n } else {\r\n this.rightSidebarShow = !this.rightSidebarShow;\r\n }\r\n });\r\n this.subscribe2 = ea.subscribe(nsCons.EVENT_BLOG_TOGGLE_SIDEBAR, (payload) => {\r\n this.isHide = payload;\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n this.subscribe1.dispose();\r\n this.subscribe2.dispose();\r\n\r\n clearInterval(this.timeagoTimer);\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n\r\n let tg = timeago();\r\n this.timeagoTimer = setInterval(() => {\r\n $(this.blogContainerRef).find('[data-timeago]').each((index, el) => {\r\n $(el).text(tg.format($(el).attr('data-timeago'), 'zh_CN'));\r\n });\r\n }, 5000);\r\n\r\n // 用户信息popup\r\n $('.tms-blog').on('mouseenter', 'span[data-value].at-user:not(.pp-not),a[data-value].author:not(.pp-not)', (event) => {\r\n event.preventDefault();\r\n var $a = $(event.currentTarget);\r\n ea.publish(nsCons.EVENT_CHAT_MEMBER_POPUP_SHOW, {\r\n username: $a.attr('data-value'),\r\n target: event.currentTarget\r\n });\r\n });\r\n\r\n $('.tms-blog .em-blog-content').on('click', 'a.avatar[data-value], a.author[data-value], .at-user[data-value]', (event) => {\r\n event.preventDefault();\r\n ea.publish(nsCons.EVENT_BLOG_COMMENT_MSG_INSERT, {\r\n content: `{~${$(event.currentTarget).attr('data-value')}} `\r\n });\r\n });\r\n\r\n }\r\n\r\n /**\r\n * 当视图从DOM中分离时被调用\r\n */\r\n detached() {\r\n\r\n }\r\n\r\n /**\r\n * 在视图模型(ViewModel)展示前执行一些自定义代码逻辑\r\n * @param {[object]} params 参数\r\n * @param {[object]} routeConfig 路由配置\r\n * @param {[object]} navigationInstruction 导航指令\r\n * @return {[promise]} 你可以可选的返回一个延迟许诺(promise), 告诉路由等待执行bind和attach视图(view), 直到你完成你的处理工作.\r\n */\r\n activate(params, routeConfig, navigationInstruction) {\r\n\r\n this.routeConfig = routeConfig;\r\n nsCtx.blogId = params.id;\r\n\r\n ea.publish(nsCons.EVENT_BLOG_SWITCH, { id: params.id });\r\n\r\n return Promise.all([chatService.loginUser().then((user) => {\r\n nsCtx.loginUser = user;\r\n nsCtx.isSuper = utils.isSuperUser(user);\r\n nsCtx.isAdmin = utils.isAdminUser(user);\r\n }),\r\n chatService.listUsers().then((users) => {\r\n nsCtx.users = users;\r\n window.tmsUsers = users;\r\n })\r\n ]);\r\n }\r\n}\r\n","import { bindable, inject } from 'aurelia-framework';\r\nimport poll from \"common/common-poll\";\r\nimport {\r\n default as Clipboard\r\n} from 'clipboard';\r\nimport {\r\n default as clipboard\r\n} from 'clipboard-js';\r\nimport {\r\n default as Dropzone\r\n} from 'dropzone';\r\n\r\nimport chatService from './chat-service';\r\n\r\nexport class ChatDirect {\r\n\r\n offset = 0;\r\n\r\n first = true; // 第一页\r\n last = true; // 最后一页\r\n\r\n originalHref = wurl();\r\n\r\n loginUser;\r\n users = [];\r\n channels = [];\r\n chatTo = null;\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n\r\n Dropzone.autoDiscover = false;\r\n this.poll = poll;\r\n\r\n new Clipboard('.tms-chat-direct .tms-clipboard')\r\n .on('success', function(e) {\r\n toastr.success('复制到剪贴板成功!');\r\n }).on('error', function(e) {\r\n toastr.error('复制到剪贴板失败!');\r\n });\r\n\r\n this.initSubscribeEvent();\r\n }\r\n\r\n initSubscribeEvent() {\r\n\r\n this.subscribe = ea.subscribe(nsCons.EVENT_CHAT_MSG_SENDED, (payload) => {\r\n\r\n poll.reset();\r\n\r\n if (!this.first) { // 不是第一页\r\n if (this.isAt) {\r\n this.listChatDirect(false);\r\n } else {\r\n this.listChatChannel(false);\r\n }\r\n }\r\n });\r\n\r\n this.subscribe2 = ea.subscribe(nsCons.EVENT_CHAT_SIDEBAR_TOGGLE, (payload) => {\r\n\r\n this.isRightSidebarShow = payload.isShow;\r\n if (this.isRightSidebarShow) {\r\n let wid = $(this.contentRef).width() - 392;\r\n $(this.contentBodyRef).width(wid);\r\n $(this.contentBodyRef).children('.scroll-wrapper').width(wid);\r\n } else {\r\n $(this.contentBodyRef).css('width', '100%');\r\n $(this.contentBodyRef).children('.scroll-wrapper').css('width', '100%');\r\n }\r\n });\r\n\r\n this.subscribe3 = ea.subscribe(nsCons.EVENT_CHAT_CHANNEL_CREATED, (payload) => {\r\n this.channels.splice(0, 0, payload.channel);\r\n });\r\n\r\n this.subscribe4 = ea.subscribe(nsCons.EVENT_CHAT_SEARCH_GOTO_CHAT_ITEM, (payload) => {\r\n\r\n this.gotoChatItem(payload.chatItem);\r\n });\r\n\r\n this.subscribe5 = ea.subscribe(nsCons.EVENT_CHAT_CHANNEL_DELETED, (payload) => {\r\n\r\n if (!this.isAt && (payload.channel.name == this.chatTo)) {\r\n window.location = wurl('path') + `#/chat/@${this.loginUser.username}`;\r\n }\r\n\r\n this.channels = [...this.channels];\r\n\r\n });\r\n\r\n this.subscribe6 = ea.subscribe(nsCons.EVENT_CHAT_CHANNEL_JOINED, (payload) => {\r\n\r\n this.channels.splice(0, 0, payload.channel);\r\n\r\n });\r\n\r\n this.subscribe7 = ea.subscribe(nsCons.EVENT_CHAT_CHANNEL_LEAVED, (payload) => {\r\n\r\n if (!this.isAt && (payload.channel.name == this.chatTo)) {\r\n window.location = wurl('path') + `#/chat/@${this.loginUser.username}`;\r\n }\r\n\r\n this.channels = _.reject(this.channels, { id: payload.channel.id });\r\n\r\n });\r\n\r\n this.subscribe8 = ea.subscribe(nsCons.EVENT_CHAT_LAST_ITEM_RENDERED, (payload) => {\r\n\r\n if (payload.item.__scroll) {\r\n this.scrollToAfterImgLoaded(this.markId ? this.markId : 'b');\r\n delete payload.item.__scroll;\r\n this.markId = null;\r\n }\r\n\r\n });\r\n\r\n this.subscribe9 = ea.subscribe(nsCons.EVENT_SCROLLBAR_SCROLL_TO_BOTTOM, (payload) => {\r\n\r\n if (this.scrollbarRef == payload.element) {\r\n poll.reset();\r\n }\r\n\r\n });\r\n\r\n this.subscribe10 = ea.subscribe(nsCons.EVENT_CHAT_CONTENT_SCROLL_TO, (payload) => {\r\n\r\n this.scrollTo(payload.target);\r\n\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n\r\n this.subscribe.dispose();\r\n this.subscribe2.dispose();\r\n this.subscribe3.dispose();\r\n this.subscribe4.dispose();\r\n this.subscribe5.dispose();\r\n this.subscribe6.dispose();\r\n this.subscribe7.dispose();\r\n this.subscribe8.dispose();\r\n this.subscribe9.dispose();\r\n this.subscribe10.dispose();\r\n\r\n clearInterval(this.timeagoTimer);\r\n poll.stop();\r\n }\r\n\r\n /**\r\n * 在视图模型(ViewModel)展示前执行一些自定义代码逻辑\r\n * @param {[object]} params 参数\r\n * @param {[object]} routeConfig 路由配置\r\n * @param {[object]} navigationInstruction 导航指令\r\n * @return {[promise]} 你可以可选的返回一个延迟许诺(promise), 告诉路由等待执行bind和attach视图(view), 直到你完成你的处理工作.\r\n */\r\n activate(params, routeConfig, navigationInstruction) {\r\n\r\n this._reset();\r\n\r\n this.markId = params.id;\r\n this.routeConfig = routeConfig;\r\n\r\n if (this.chatId) {\r\n this.preChatId = this.chatId; // 记录切换前的沟通对象\r\n }\r\n this.chatId = nsCtx.chatId = params.username;\r\n\r\n localStorage && localStorage.setItem(nsCons.KEY_REMEMBER_LAST_CHAT_TO, this.chatId);\r\n\r\n this.isAt = nsCtx.isAt = _.startsWith(params.username, '@');\r\n this.chatTo = nsCtx.chatTo = utils.getChatName(params.username);\r\n\r\n if (this.markId) {\r\n history.replaceState(null, '', utils.removeUrlQuery('id'));\r\n }\r\n\r\n return Promise.all([chatService.loginUser(false).then((user) => {\r\n this.loginUser = user;\r\n nsCtx.loginUser = user;\r\n nsCtx.isSuper = utils.isSuperUser(this.loginUser);\r\n nsCtx.isAdmin = utils.isAdminUser(this.loginUser);\r\n }),\r\n chatService.listUsers(false).then((users) => {\r\n this.users = users;\r\n nsCtx.users = users;\r\n window.tmsUsers = users;\r\n if (this.isAt) {\r\n this.channel = null;\r\n this.user = _.find(this.users, {\r\n username: this.chatTo\r\n });\r\n\r\n if (this.user) {\r\n let name = this.user ? this.user.name : this.chatTo;\r\n routeConfig.navModel.setTitle(`${name} | 私聊 | TMS`);\r\n\r\n this.listChatDirect(true);\r\n } else {\r\n toastr.error(`聊天用户[${this.chatTo}]不存在或者没有权限访问!`);\r\n if (this.preChatId) {\r\n window.location = wurl('path') + `#/chat/${this.preChatId}`;\r\n } else {\r\n window.location = wurl('path') + `#/chat/@${this.loginUser.username}`;\r\n }\r\n }\r\n\r\n }\r\n }),\r\n chatService.listChannels(false).then((channels) => {\r\n this.channels = channels;\r\n nsCtx.channels = channels;\r\n if (!this.isAt) {\r\n this.user = null;\r\n this.channel = _.find(this.channels, {\r\n name: this.chatTo\r\n });\r\n\r\n if (this.channel) {\r\n routeConfig.navModel.setTitle(`${this.channel.title} | 频道 | TMS`);\r\n\r\n this.listChatChannel(true);\r\n } else {\r\n toastr.error(`聊天频道[${this.chatTo}]不存在或者没有权限访问!`);\r\n if (this.preChatId) {\r\n window.location = wurl('path') + `#/chat/${this.preChatId}`;\r\n } else {\r\n window.location = wurl('path') + `#/chat/@${this.loginUser.username}`;\r\n }\r\n }\r\n }\r\n })\r\n ]);\r\n\r\n }\r\n\r\n _reset() {\r\n this.progressWidth = 0;\r\n this.chats = null;\r\n this.first = true; // 第一页\r\n this.last = true; // 最后一页\r\n }\r\n\r\n lastMoreHandler() { // 上面的老消息\r\n\r\n let start = _.first(this.chats).id;\r\n\r\n let url;\r\n let data;\r\n if (this.isAt) {\r\n url = `/admin/chat/direct/more`;\r\n data = {\r\n last: true,\r\n start: start,\r\n size: 20,\r\n chatTo: this.chatTo\r\n };\r\n } else {\r\n url = `/admin/chat/channel/more`;\r\n data = {\r\n last: true,\r\n start: start,\r\n size: 20,\r\n channelId: this.channel.id\r\n };\r\n }\r\n this.lastMoreP = $.get(url, data, (data) => {\r\n if (data.success) {\r\n this.chats = _.unionBy(_.reverse(data.data), this.chats);\r\n this.last = (data.msgs[0] - data.data.length <= 0);\r\n !this.last && (this.lastCnt = data.msgs[0] - data.data.length);\r\n this.scrollToAfterImgLoaded(start);\r\n } else {\r\n toastr.error(data.data, '获取更多消息失败!');\r\n }\r\n });\r\n }\r\n\r\n firstMoreHandler() { // 前面的新消息\r\n\r\n let start = _.last(this.chats).id;\r\n let url;\r\n let data;\r\n if (this.isAt) {\r\n url = `/admin/chat/direct/more`;\r\n data = {\r\n last: false,\r\n start: start,\r\n size: 20,\r\n chatTo: this.chatTo\r\n };\r\n } else {\r\n url = `/admin/chat/channel/more`;\r\n data = {\r\n last: false,\r\n start: start,\r\n size: 20,\r\n channelId: this.channel.id\r\n };\r\n }\r\n this.nextMoreP = $.get(url, data, (data) => {\r\n if (data.success) {\r\n this.chats = _.unionBy(this.chats, data.data);\r\n this.first = (data.msgs[0] - data.data.length <= 0);\r\n !this.first && (this.firstCnt = data.msgs[0] - data.data.length);\r\n this.scrollToAfterImgLoaded(start);\r\n } else {\r\n toastr.error(data.data, '获取更多消息失败!');\r\n }\r\n });\r\n }\r\n\r\n // 获取频道消息\r\n listChatChannel(isCareMarkId) {\r\n\r\n var data = {\r\n size: 20,\r\n channelId: this.channel.id\r\n };\r\n\r\n // 如果设定了获取消息界限\r\n if (this.markId && isCareMarkId) {\r\n data.id = this.markId;\r\n }\r\n\r\n $.get('/admin/chat/channel/listBy', data, (data) => {\r\n this.processChats(data);\r\n });\r\n }\r\n\r\n // 获取私聊消息\r\n listChatDirect(isCareMarkId) {\r\n\r\n var data = {\r\n size: 20,\r\n chatTo: this.chatTo\r\n };\r\n\r\n // 如果设定了获取消息界限\r\n if (this.markId && isCareMarkId) {\r\n data.id = this.markId;\r\n }\r\n $.get('/admin/chat/direct/list', data, (data) => {\r\n this.processChats(data);\r\n });\r\n }\r\n\r\n // 共同返回消息处理\r\n processChats(data) {\r\n if (data.success) {\r\n this.chats = _.reverse(data.data.content);\r\n let lastChat = _.last(this.chats);\r\n lastChat && (lastChat.__scroll = true); // 标记消息列表渲染完成需要执行消息滚动定位.\r\n this.last = data.data.last;\r\n this.first = data.data.first;\r\n !this.last && (this.lastCnt = data.data.totalElements - data.data.numberOfElements);\r\n !this.first && (this.firstCnt = data.data.size * data.data.number);\r\n }\r\n }\r\n\r\n _scrollTo(to) {\r\n if (to == 'b') {\r\n $(this.commentsRef).parent('.scroll-content').scrollTo('max');\r\n } else if (to == 't') {\r\n $(this.commentsRef).parent('.scroll-content').scrollTo(0);\r\n } else {\r\n if (_.some(this.chats, { id: +to })) {\r\n $(this.commentsRef).parent('.scroll-content').scrollTo(`.comment[data-id=\"${to}\"]`, {\r\n offset: this.offset\r\n });\r\n $(this.commentsRef).find(`.comment[data-id]`).removeClass('active');\r\n $(this.commentsRef).find(`.comment[data-id=${to}]`).addClass('active');\r\n } else {\r\n $(this.commentsRef).parent('.scroll-content').scrollTo('max');\r\n toastr.warning(`消息[${to}]不存在,可能已经被删除!`);\r\n }\r\n }\r\n }\r\n\r\n scrollToAfterImgLoaded(to) {\r\n _.defer(() => {\r\n new ImagesLoaded(this.commentsRef).always(() => {\r\n this._scrollTo(to);\r\n });\r\n\r\n this._scrollTo(to);\r\n });\r\n\r\n }\r\n\r\n doPoll() {\r\n poll.start((resetCb, stopCb) => {\r\n this._pollChats(resetCb, stopCb);\r\n this._poll(resetCb, stopCb);\r\n });\r\n }\r\n\r\n _poll(resetCb, stopCb) {\r\n\r\n let lastChat = _.last(this.chats);\r\n\r\n if (this.pollOnGoing || this.isAt || !this.channel || !lastChat) {\r\n return;\r\n }\r\n\r\n this.pollOnGoing = true;\r\n\r\n $.get('/admin/chat/channel/poll', {\r\n channelId: this.channel.id,\r\n lastChatChannelId: lastChat.id,\r\n isAt: true\r\n }, (data) => {\r\n if (data.success) {\r\n\r\n if (this.countAt && data.data.countAt > this.countAt) {\r\n let cnt = data.data.countAt - this.countAt;\r\n push.create('TMS沟通@消息通知', {\r\n body: `你有${cnt}条新的@消息!`,\r\n icon: {\r\n x16: 'img/tms-x16.ico',\r\n x32: 'img/tms-x32.png'\r\n },\r\n timeout: 5000\r\n });\r\n }\r\n this.countAt = data.data.countAt;\r\n ea.publish(nsCons.EVENT_CHAT_POLL_UPDATE, {\r\n countAt: data.data.countAt,\r\n countMyRecentSchedule: data.data.countMyRecentSchedule\r\n });\r\n }\r\n }).always(() => {\r\n this.pollOnGoing = false;\r\n });\r\n }\r\n\r\n // 消息轮询处理\r\n _pollChats(resetCb, stopCb) {\r\n\r\n if (this.pollChatsOngoing || !this.chats || !this.first) {\r\n return;\r\n }\r\n\r\n let lastChat = _.last(this.chats);\r\n\r\n let url;\r\n let data;\r\n\r\n if (this.isAt) {\r\n url = `/admin/chat/direct/latest`;\r\n data = {\r\n id: lastChat ? lastChat.id : 0,\r\n chatTo: this.chatTo\r\n };\r\n } else {\r\n url = `/admin/chat/channel/latest`;\r\n data = {\r\n id: lastChat ? lastChat.id : 0,\r\n channelId: this.channel.id\r\n };\r\n }\r\n\r\n this.pollChatsOngoing = true;\r\n\r\n $.get(url, data, (data) => {\r\n if (data.success) {\r\n\r\n if (!this._checkPollResultOk(data)) {\r\n return;\r\n }\r\n\r\n this._checkNeedNotify(data);\r\n\r\n this.chats = _.unionBy(this.chats, data.data, 'id');\r\n this.scrollToAfterImgLoaded('b');\r\n } else {\r\n toastr.error(data.data, '轮询获取消息失败!');\r\n }\r\n }).fail((xhr, sts) => {\r\n stopCb();\r\n utils.errorAutoTry(() => {\r\n resetCb();\r\n });\r\n }).always(() => {\r\n this.pollChatsOngoing = false;\r\n });\r\n }\r\n\r\n _checkNeedNotify(data) {\r\n\r\n if (data.data.length == 0) {\r\n return false;\r\n }\r\n\r\n let hasOwn = _.some(data.data, (item) => {\r\n return item.creator.username == this.loginUser.username;\r\n });\r\n\r\n if (!hasOwn) {\r\n push.create('TMS沟通频道消息通知', {\r\n body: `频道[${this.channel.title}]有新消息了!`,\r\n icon: {\r\n x16: 'img/tms-x16.ico',\r\n x32: 'img/tms-x32.png'\r\n },\r\n timeout: 5000\r\n });\r\n }\r\n }\r\n\r\n _checkPollResultOk(data) {\r\n\r\n if (data.data.length == 0) {\r\n return false;\r\n }\r\n\r\n let chat = _.first(data.data);\r\n return this.isAt ? _.has(chat, 'chatTo') : _.has(chat, 'channel');\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎绑定到视图时被调用\r\n * @param {[object]} ctx 视图绑定上下文环境对象\r\n */\r\n bind(ctx) {\r\n\r\n this.doPoll();\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n\r\n let tg = timeago();\r\n this.timeagoTimer = setInterval(() => {\r\n $(this.chatContainerRef).find('[data-timeago]').each((index, el) => {\r\n $(el).text(tg.format($(el).attr('data-timeago'), 'zh_CN'));\r\n });\r\n }, 5000);\r\n\r\n this.initHotkeys();\r\n this.initFocusedComment();\r\n\r\n $(this.scrollbarRef).on('mouseenter', '.em-chat-content-item', (event) => {\r\n event.preventDefault();\r\n let $item = $(event.currentTarget);\r\n this.$hoveredItem = $item;\r\n this.isShowHead = !utils.isElementInViewport($item.children('.em-user-avatar'));\r\n let $next = $item.next('.em-chat-content-item');\r\n if ($next.size() === 1) {\r\n this.isShowFoot = !utils.isElementInViewport($next.children('.em-user-avatar'));\r\n } else {\r\n this.isShowFoot = false;\r\n }\r\n }).on('mouseleave', (event) => {\r\n event.preventDefault();\r\n this.isShowHead = false;\r\n this.isShowFoot = false;\r\n });\r\n\r\n $(this.commentsRef).on('click', '.cbutton', function(event) {\r\n event.preventDefault();\r\n let $btn = $(this);\r\n $btn.addClass('cbutton--click');\r\n setTimeout(function() {\r\n $btn.removeClass('cbutton--click');\r\n }, 500);\r\n });\r\n\r\n $(this.chatContainerRef).on('click', 'code[data-code]', function(event) {\r\n if (event.ctrlKey) {\r\n event.stopImmediatePropagation();\r\n event.preventDefault();\r\n clipboard.copy($(event.currentTarget).attr('data-code')).then(\r\n () => { toastr.success('复制到剪贴板成功!'); },\r\n (err) => { toastr.error('复制到剪贴板失败!'); }\r\n );\r\n }\r\n });\r\n\r\n $(this.chatContainerRef).on('click', '.pre-code-wrapper', function(event) {\r\n if (event.ctrlKey) {\r\n event.stopImmediatePropagation();\r\n event.preventDefault();\r\n clipboard.copy($(event.currentTarget).find('i[data-clipboard-text]').attr('data-clipboard-text')).then(\r\n () => { toastr.success('复制到剪贴板成功!'); },\r\n (err) => { toastr.error('复制到剪贴板失败!'); }\r\n );\r\n }\r\n });\r\n\r\n $('.tms-comments-container[ref=\"scrollbarRef\"]').scroll(_.throttle((event) => {\r\n try {\r\n let sHeight = $(event.currentTarget)[0].scrollHeight;\r\n let sTop = $(event.currentTarget)[0].scrollTop;\r\n\r\n let scale = sTop * 1.0 / (sHeight - $(event.currentTarget).outerHeight());\r\n this.progressWidth = $(event.currentTarget).outerWidth() * scale;\r\n } catch (err) { this.progressWidth = 0; }\r\n\r\n }, 10));\r\n\r\n }\r\n\r\n goHeadHandler() {\r\n this.scrollTo(this.$hoveredItem, 500, () => { this.isShowHead = false; });\r\n }\r\n\r\n goFootHandler() {\r\n this.scrollTo(this.$hoveredItem.next(), 500, () => { this.isShowFoot = false; });\r\n }\r\n\r\n initFocusedComment() {\r\n $(this.commentsRef).on('click', '.comment.item', (event) => {\r\n this.focusedComment = $(event.currentTarget);\r\n }).on('dblclick', '.comment.item', (event) => {\r\n if (event.ctrlKey) {\r\n let chatId = $(event.currentTarget).attr('data-id');\r\n let $t = $(event.currentTarget).find('.content > textarea');\r\n let item = _.find(this.chats, { id: Number.parseInt(chatId) });\r\n\r\n if (!item.openEdit && (item.creator.username != this.loginUser.username)) {\r\n return;\r\n }\r\n\r\n $.get(`/admin/chat/${this.isAt ? 'direct' : 'channel'}/get`, {\r\n id: item.id\r\n }, (data) => {\r\n if (data.success) {\r\n if (item.version != data.data.version) {\r\n _.extend(item, data.data);\r\n }\r\n item.isEditing = true;\r\n item.contentOld = item.content;\r\n _.defer(() => {\r\n $t.focus().select();\r\n autosize.update($t.get(0));\r\n });\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n getScrollTargetComment(isPrev) {\r\n if (isPrev) {\r\n if (this.focusedComment && this.focusedComment.size() === 1) {\r\n let $avatar = this.focusedComment.find('> a.em-user-avatar');\r\n if (utils.isElementInViewport($avatar)) {\r\n let prev = this.focusedComment.prev('.comment.item');\r\n (prev.size() === 1) && (this.focusedComment = prev);\r\n }\r\n } else {\r\n this.focusedComment = $(this.commentsRef).children('.comment.item:first');\r\n }\r\n } else {\r\n if (this.focusedComment && this.focusedComment.size() === 1) {\r\n let next = this.focusedComment.next('.comment.item');\r\n (next.size() === 1) && (this.focusedComment = next);\r\n } else {\r\n this.focusedComment = $(this.commentsRef).children('.comment.item:last');\r\n }\r\n }\r\n return this.focusedComment;\r\n }\r\n\r\n scrollTo(target, duration = 0, onAfter) {\r\n this.focusedComment = target;\r\n $(this.commentsRef).parent('.scroll-content').scrollTo(target, duration, {\r\n offset: this.offset,\r\n onAfter: onAfter\r\n });\r\n }\r\n\r\n initHotkeys() {\r\n $(document).bind('keydown', 'ctrl+u', (evt) => {\r\n evt.preventDefault();\r\n $(this.emChatInputRef.btnItemUploadRef).find('.content').click();\r\n }).bind('keydown', 'ctrl+/', (evt) => {\r\n evt.preventDefault();\r\n this.emChatInputRef.emHotkeysModal.show();\r\n }).bind('keydown', 'alt+up', (evt) => {\r\n evt.preventDefault();\r\n this.scrollTo(this.getScrollTargetComment(true));\r\n }).bind('keydown', 'alt+down', (evt) => {\r\n evt.preventDefault();\r\n this.scrollTo(this.getScrollTargetComment());\r\n }).bind('keydown', 't', (event) => {\r\n event.preventDefault();\r\n this.scrollTo($(this.commentsRef).children('.comment.item:first'));\r\n }).bind('keydown', 'b', (event) => {\r\n event.preventDefault();\r\n this.scrollTo($(this.commentsRef).children('.comment.item:last'));\r\n });\r\n\r\n }\r\n\r\n gotoChatItem(item) {\r\n\r\n let chat = _.find(this.chats, { id: item.id });\r\n if (chat) {\r\n this.scrollToAfterImgLoaded(item.id);\r\n } else {\r\n\r\n let chatTo;\r\n let chatId;\r\n\r\n if (item.chatTo) {\r\n chatTo = item.chatTo.username;\r\n chatId = `@${chatTo}`;\r\n } else if (item.channel) {\r\n chatTo = item.channel.name;\r\n chatId = `${chatTo}`;\r\n }\r\n\r\n if (this.chatTo == chatTo) { // 当前定位消息就在当前聊天对象里,只是没有获取显示出来\r\n this.activate({\r\n id: item.id,\r\n username: chatId\r\n }, this.routeConfig);\r\n } else { // 定位消息在非当前聊天对象中\r\n window.location = wurl('path') + `#/chat/${chatId}?id=${item.id}`;\r\n }\r\n }\r\n\r\n }\r\n\r\n refreshLatestHandler(event) {\r\n event.stopImmediatePropagation();\r\n this.markId = null;\r\n if (this.isAt) {\r\n this.listChatDirect(false);\r\n } else {\r\n this.listChatChannel(false);\r\n }\r\n }\r\n\r\n}\r\n","class ChatService {\r\n\r\n async loginUser(useCache) {\r\n\r\n if (!useCache || !this.user) {\r\n\r\n // login user\r\n await $.get('/admin/user/loginUser', (data) => {\r\n if (data.success) {\r\n this.user = data.data;\r\n }\r\n });\r\n }\r\n\r\n return this.user;\r\n }\r\n\r\n async listUsers(useCache) {\r\n\r\n if (!useCache || !this.users) {\r\n\r\n // users\r\n await $.get('/admin/user/all', {\r\n // enabled: true\r\n }, (data) => {\r\n if (data.success) {\r\n this.users = data.data;\r\n }\r\n });\r\n }\r\n\r\n return this.users;\r\n }\r\n\r\n async listChannels(useCache) {\r\n\r\n if (!useCache || !this.channels) {\r\n\r\n // channels\r\n await $.get('/admin/channel/listMy', (data) => {\r\n if (data.success) {\r\n this.channels = data.data;\r\n }\r\n });\r\n\r\n }\r\n\r\n return this.channels;\r\n }\r\n}\r\n\r\nexport default new ChatService();\r\n","window.nsCons = {\r\n EVENT_APP_ROUTER_NAVIGATE: 'event_app_router_navigate',\r\n EVENT_CHAT_MSG_SENDED: 'event_chat_msg_sended',\r\n EVENT_CHAT_MSG_EDIT_UPLOAD: 'event_chat_msg_edit_upload',\r\n EVENT_CHAT_SIDEBAR_TOGGLE: 'event_chat_sidebar_toggle',\r\n EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE: 'event_chat_right_sidebar_toggle',\r\n EVENT_CHAT_SEARCH_GOTO_CHAT_ITEM: 'event_chat_search_goto_chat_item',\r\n EVENT_CHAT_CHANNEL_CREATED: 'event_chat_channel_created',\r\n EVENT_CHAT_CHANNEL_DELETED: 'event_chat_channel_deleted',\r\n EVENT_CHAT_CHANNEL_JOINED: 'event_chat_channel_joined',\r\n EVENT_CHAT_CHANNEL_LEAVED: 'event_chat_channel_leaved',\r\n EVENT_SHOW_HOTKEYS_MODAL: 'event_show_hotkeys_modal',\r\n EVENT_CHAT_CHANNEL_MEMBER_ADD_OR_REMOVE: 'event_chat_channel_member_add_or_remove',\r\n EVENT_CHAT_LAST_ITEM_RENDERED: 'event_chat_last_item_rendered',\r\n EVENT_SCROLLBAR_SCROLL_TO_BOTTOM: 'event_scrollbar_scroll_to_bottom',\r\n EVENT_CHAT_MSG_INSERT: 'event_chat_msg_insert',\r\n EVENT_CHAT_MSG_POPUP_SHOW: 'event_chat_msg_popup_show',\r\n EVENT_CHAT_MEMBER_POPUP_SHOW: 'event_chat_member_popup_show',\r\n EVENT_CHAT_MSG_WIKI_DIR: 'event_chat_msg_wiki_dir',\r\n EVENT_CHAT_CONTENT_SCROLL_TO: 'event_chat_content_scroll_to',\r\n EVENT_CHAT_POLL_UPDATE: 'event_chat_poll_update',\r\n EVENT_SWITCH_CHAT_TO: 'event_switch_chat_to',\r\n EVENT_CHANNEL_ACTIONS: 'event_channel_actions',\r\n EVENT_CHANNEL_LINKS_REFRESH: 'event_channel_links_refresh',\r\n EVENT_SYSTEM_LINKS_REFRESH: 'event_system_links_refresh',\r\n EVENT_SCHEDULE_REFRESH: 'event_schedule_refresh',\r\n EVENT_MODAAL_BEFORE_OPEN: 'event_modaal_before_open',\r\n EVENT_MODAAL_AFTER_OPEN: 'event_modaal_after_open',\r\n EVENT_MODAAL_BEFORE_CLOSE: 'event_modaal_before_close',\r\n EVENT_MODAAL_AFTER_CLOSE: 'event_modaal_after_close',\r\n EVENT_BLOG_SWITCH: 'event_blog_switch',\r\n EVENT_BLOG_ACTION: 'event_blog_action',\r\n EVENT_BLOG_CHANGED: 'event_blog_changed',\r\n EVENT_SPACE_CHANGED: 'event_space_changed',\r\n EVENT_BLOG_CREATED: 'event_blog_created',\r\n EVENT_BLOG_UPDATED: 'event_blog_updated',\r\n EVENT_BLOG_DELETED: 'event_blog_deleted',\r\n EVENT_BLOG_TOGGLE_SIDEBAR: 'event_blog_toggle_sidebar',\r\n EVENT_BLOG_VIEW_CHANGED: 'event_blog_view_changed',\r\n EVENT_BLOG_STOW_CHANGED: 'event_blog_stow_changed',\r\n EVENT_BLOG_SAVE: 'event_blog_save',\r\n EVENT_BLOG_HISTORY_CHANGED: 'event_blog_history_changed',\r\n EVENT_BLOG_COMMENT_POPUP_SHOW: 'event_blog_comment_popup_show',\r\n EVENT_BLOG_RIGHT_SIDEBAR_TOGGLE: 'event_blog_right_sidebar_toggle',\r\n EVENT_BLOG_LEFT_SIDEBAR_TOGGLE: 'event_blog_left_sidebar_toggle',\r\n EVENT_BLOG_CONTENT_DIMMER_TOGGLE: 'event_blog_content_dimmer_toggle',\r\n EVENT_BLOG_COMMENT_MSG_INSERT: 'event_blog_comment_msg_insert',\r\n EVENT_BLOG_COMMENT_ADDED: 'event_blog_comment_added',\r\n EVENT_BLOG_COMMENT_CHANGED: 'event_blog_comment_changed',\r\n ACTION_TYPE_SEARCH: 'action_type_search',\r\n ACTION_TYPE_STOW: 'action_type_stow',\r\n ACTION_TYPE_PIN: 'action_type_pin',\r\n ACTION_TYPE_AT: 'action_type_at',\r\n ACTION_TYPE_DIR: 'action_type_dir',\r\n ACTION_TYPE_ATTACH: 'action_type_attach',\r\n ACTION_TYPE_SCHEDULE: 'action_type_schedule',\r\n NUM_TEXT_COMPLETE_MAX_COUNT: 20,\r\n STR_EMOJI_SEARCH_URL: 'http://emoji.muan.co/',\r\n KEY_REMEMBER_LAST_CHAT_TO: 'tms/remember_last_chat_to',\r\n KEY_LOGIN_USERNAME: 'tms/login_username',\r\n KEY_BLOG_COMMON_SPACE: 'tms/blog/common_space',\r\n}\r\n","window.nsCtx = {\r\n loginUser: {},\r\n isSuper: false,\r\n isAdmin: false,\r\n users: [],\r\n channels: [],\r\n memberAll: {\r\n username: 'all',\r\n enabled: true,\r\n mails: '',\r\n name: '全员'\r\n },\r\n isAt: true, // is channel or user chat\r\n chatTo: null, // chat to channel name or username\r\n chatId: null, // chat to channel name or @username \r\n isSuper: false,\r\n isAdmin: false,\r\n blogId: null,\r\n isModaalOpening: false,\r\n}\r\n","(function webpackUniversalModuleDefinition(root, factory) {\r\n root[\"JsDiff\"] = factory();\r\n})(window, function() {\r\nreturn /******/ (function(modules) { // webpackBootstrap\r\n/******/ // The module cache\r\n/******/ var installedModules = {};\r\n\r\n/******/ // The require function\r\n/******/ function __webpack_require__(moduleId) {\r\n\r\n/******/ // Check if module is in cache\r\n/******/ if(installedModules[moduleId])\r\n/******/ return installedModules[moduleId].exports;\r\n\r\n/******/ // Create a new module (and put it into the cache)\r\n/******/ var module = installedModules[moduleId] = {\r\n/******/ exports: {},\r\n/******/ id: moduleId,\r\n/******/ loaded: false\r\n/******/ };\r\n\r\n/******/ // Execute the module function\r\n/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\r\n\r\n/******/ // Flag the module as loaded\r\n/******/ module.loaded = true;\r\n\r\n/******/ // Return the exports of the module\r\n/******/ return module.exports;\r\n/******/ }\r\n\r\n\r\n/******/ // expose the modules object (__webpack_modules__)\r\n/******/ __webpack_require__.m = modules;\r\n\r\n/******/ // expose the module cache\r\n/******/ __webpack_require__.c = installedModules;\r\n\r\n/******/ // __webpack_public_path__\r\n/******/ __webpack_require__.p = \"\";\r\n\r\n/******/ // Load entry module and return exports\r\n/******/ return __webpack_require__(0);\r\n/******/ })\r\n/************************************************************************/\r\n/******/ ([\r\n/* 0 */\r\n/***/ function(module, exports, __webpack_require__) {\r\n\r\n /* See LICENSE file for terms of use */\r\n\r\n /*\r\n * Text diff implementation.\r\n *\r\n * This library supports the following APIS:\r\n * JsDiff.diffChars: Character by character diff\r\n * JsDiff.diffWords: Word (as defined by \\b regex) diff which ignores whitespace\r\n * JsDiff.diffLines: Line based diff\r\n *\r\n * JsDiff.diffCss: Diff targeted at CSS content\r\n *\r\n * These methods are based on the implementation proposed in\r\n * \"An O(ND) Difference Algorithm and its Variations\" (Myers, 1986).\r\n * http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.4.6927\r\n */\r\n 'use strict';\r\n\r\n exports.__esModule = true;\r\n // istanbul ignore next\r\n\r\n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\r\n\r\n var _diffBase = __webpack_require__(1);\r\n\r\n var _diffBase2 = _interopRequireDefault(_diffBase);\r\n\r\n var _diffCharacter = __webpack_require__(3);\r\n\r\n var _diffWord = __webpack_require__(4);\r\n\r\n var _diffLine = __webpack_require__(5);\r\n\r\n var _diffSentence = __webpack_require__(6);\r\n\r\n var _diffCss = __webpack_require__(7);\r\n\r\n var _diffJson = __webpack_require__(8);\r\n\r\n var _patchApply = __webpack_require__(9);\r\n\r\n var _patchCreate = __webpack_require__(10);\r\n\r\n var _convertDmp = __webpack_require__(12);\r\n\r\n var _convertXml = __webpack_require__(13);\r\n\r\n exports.Diff = _diffBase2['default'];\r\n exports.diffChars = _diffCharacter.diffChars;\r\n exports.diffWords = _diffWord.diffWords;\r\n exports.diffWordsWithSpace = _diffWord.diffWordsWithSpace;\r\n exports.diffLines = _diffLine.diffLines;\r\n exports.diffTrimmedLines = _diffLine.diffTrimmedLines;\r\n exports.diffSentences = _diffSentence.diffSentences;\r\n exports.diffCss = _diffCss.diffCss;\r\n exports.diffJson = _diffJson.diffJson;\r\n exports.structuredPatch = _patchCreate.structuredPatch;\r\n exports.createTwoFilesPatch = _patchCreate.createTwoFilesPatch;\r\n exports.createPatch = _patchCreate.createPatch;\r\n exports.applyPatch = _patchApply.applyPatch;\r\n exports.convertChangesToDMP = _convertDmp.convertChangesToDMP;\r\n exports.convertChangesToXML = _convertXml.convertChangesToXML;\r\n exports.canonicalize = _diffJson.canonicalize;\r\n\r\n\r\n/***/ },\r\n/* 1 */\r\n/***/ function(module, exports, __webpack_require__) {\r\n\r\n 'use strict';\r\n\r\n exports.__esModule = true;\r\n exports['default'] = Diff;\r\n // istanbul ignore next\r\n\r\n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\r\n\r\n var _utilMap = __webpack_require__(2);\r\n\r\n var _utilMap2 = _interopRequireDefault(_utilMap);\r\n\r\n function Diff(ignoreWhitespace) {\r\n this.ignoreWhitespace = ignoreWhitespace;\r\n }\r\n\r\n Diff.prototype = {\r\n diff: function diff(oldString, newString, callback) {\r\n var self = this;\r\n\r\n function done(value) {\r\n if (callback) {\r\n setTimeout(function () {\r\n callback(undefined, value);\r\n }, 0);\r\n return true;\r\n } else {\r\n return value;\r\n }\r\n }\r\n\r\n // Allow subclasses to massage the input prior to running\r\n oldString = this.castInput(oldString);\r\n newString = this.castInput(newString);\r\n\r\n // Handle the identity case (this is due to unrolling editLength == 0\r\n if (newString === oldString) {\r\n return done([{ value: newString }]);\r\n }\r\n if (!newString) {\r\n return done([{ value: oldString, removed: true }]);\r\n }\r\n if (!oldString) {\r\n return done([{ value: newString, added: true }]);\r\n }\r\n\r\n newString = this.removeEmpty(this.tokenize(newString));\r\n oldString = this.removeEmpty(this.tokenize(oldString));\r\n\r\n var newLen = newString.length,\r\n oldLen = oldString.length;\r\n var editLength = 1;\r\n var maxEditLength = newLen + oldLen;\r\n var bestPath = [{ newPos: -1, components: [] }];\r\n\r\n // Seed editLength = 0, i.e. the content starts with the same values\r\n var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0);\r\n if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\r\n // Identity per the equality and tokenizer\r\n return done([{ value: newString.join('') }]);\r\n }\r\n\r\n // Main worker method. checks all permutations of a given edit length for acceptance.\r\n function execEditLength() {\r\n for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {\r\n var basePath = undefined;\r\n var addPath = bestPath[diagonalPath - 1],\r\n removePath = bestPath[diagonalPath + 1],\r\n _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;\r\n if (addPath) {\r\n // No one else is going to attempt to use this value, clear it\r\n bestPath[diagonalPath - 1] = undefined;\r\n }\r\n\r\n var canAdd = addPath && addPath.newPos + 1 < newLen,\r\n canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen;\r\n if (!canAdd && !canRemove) {\r\n // If this path is a terminal then prune\r\n bestPath[diagonalPath] = undefined;\r\n continue;\r\n }\r\n\r\n // Select the diagonal that we want to branch from. We select the prior\r\n // path whose position in the new string is the farthest from the origin\r\n // and does not pass the bounds of the diff graph\r\n if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {\r\n basePath = clonePath(removePath);\r\n self.pushComponent(basePath.components, undefined, true);\r\n } else {\r\n basePath = addPath; // No need to clone, we've pulled it from the list\r\n basePath.newPos++;\r\n self.pushComponent(basePath.components, true, undefined);\r\n }\r\n\r\n _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath);\r\n\r\n // If we have hit the end of both strings, then we are done\r\n if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) {\r\n return done(buildValues(basePath.components, newString, oldString, self.useLongestToken));\r\n } else {\r\n // Otherwise track this path as a potential candidate and continue.\r\n bestPath[diagonalPath] = basePath;\r\n }\r\n }\r\n\r\n editLength++;\r\n }\r\n\r\n // Performs the length of edit iteration. Is a bit fugly as this has to support the\r\n // sync and async mode which is never fun. Loops over execEditLength until a value\r\n // is produced.\r\n if (callback) {\r\n (function exec() {\r\n setTimeout(function () {\r\n // This should not happen, but we want to be safe.\r\n /* istanbul ignore next */\r\n if (editLength > maxEditLength) {\r\n return callback();\r\n }\r\n\r\n if (!execEditLength()) {\r\n exec();\r\n }\r\n }, 0);\r\n })();\r\n } else {\r\n while (editLength <= maxEditLength) {\r\n var ret = execEditLength();\r\n if (ret) {\r\n return ret;\r\n }\r\n }\r\n }\r\n },\r\n\r\n pushComponent: function pushComponent(components, added, removed) {\r\n var last = components[components.length - 1];\r\n if (last && last.added === added && last.removed === removed) {\r\n // We need to clone here as the component clone operation is just\r\n // as shallow array clone\r\n components[components.length - 1] = { count: last.count + 1, added: added, removed: removed };\r\n } else {\r\n components.push({ count: 1, added: added, removed: removed });\r\n }\r\n },\r\n extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) {\r\n var newLen = newString.length,\r\n oldLen = oldString.length,\r\n newPos = basePath.newPos,\r\n oldPos = newPos - diagonalPath,\r\n commonCount = 0;\r\n while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) {\r\n newPos++;\r\n oldPos++;\r\n commonCount++;\r\n }\r\n\r\n if (commonCount) {\r\n basePath.components.push({ count: commonCount });\r\n }\r\n\r\n basePath.newPos = newPos;\r\n return oldPos;\r\n },\r\n\r\n equals: function equals(left, right) {\r\n var reWhitespace = /\\S/;\r\n return left === right || this.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right);\r\n },\r\n removeEmpty: function removeEmpty(array) {\r\n var ret = [];\r\n for (var i = 0; i < array.length; i++) {\r\n if (array[i]) {\r\n ret.push(array[i]);\r\n }\r\n }\r\n return ret;\r\n },\r\n castInput: function castInput(value) {\r\n return value;\r\n },\r\n tokenize: function tokenize(value) {\r\n return value.split('');\r\n }\r\n };\r\n\r\n function buildValues(components, newString, oldString, useLongestToken) {\r\n var componentPos = 0,\r\n componentLen = components.length,\r\n newPos = 0,\r\n oldPos = 0;\r\n\r\n for (; componentPos < componentLen; componentPos++) {\r\n var component = components[componentPos];\r\n if (!component.removed) {\r\n if (!component.added && useLongestToken) {\r\n var value = newString.slice(newPos, newPos + component.count);\r\n value = _utilMap2['default'](value, function (value, i) {\r\n var oldValue = oldString[oldPos + i];\r\n return oldValue.length > value.length ? oldValue : value;\r\n });\r\n\r\n component.value = value.join('');\r\n } else {\r\n component.value = newString.slice(newPos, newPos + component.count).join('');\r\n }\r\n newPos += component.count;\r\n\r\n // Common case\r\n if (!component.added) {\r\n oldPos += component.count;\r\n }\r\n } else {\r\n component.value = oldString.slice(oldPos, oldPos + component.count).join('');\r\n oldPos += component.count;\r\n\r\n // Reverse add and remove so removes are output first to match common convention\r\n // The diffing algorithm is tied to add then remove output and this is the simplest\r\n // route to get the desired output with minimal overhead.\r\n if (componentPos && components[componentPos - 1].added) {\r\n var tmp = components[componentPos - 1];\r\n components[componentPos - 1] = components[componentPos];\r\n components[componentPos] = tmp;\r\n }\r\n }\r\n }\r\n\r\n return components;\r\n }\r\n\r\n function clonePath(path) {\r\n return { newPos: path.newPos, components: path.components.slice(0) };\r\n }\r\n module.exports = exports['default'];\r\n\r\n\r\n/***/ },\r\n/* 2 */\r\n/***/ function(module, exports) {\r\n\r\n // Following this pattern to make sure the ignore next is in the correct place after babel builds\r\n \"use strict\";\r\n\r\n exports.__esModule = true;\r\n exports[\"default\"] = map;\r\n\r\n /* istanbul ignore next */\r\n function map(arr, mapper, that) {\r\n if (Array.prototype.map) {\r\n return Array.prototype.map.call(arr, mapper, that);\r\n }\r\n\r\n var other = new Array(arr.length);\r\n\r\n for (var i = 0, n = arr.length; i < n; i++) {\r\n other[i] = mapper.call(that, arr[i], i, arr);\r\n }\r\n return other;\r\n }\r\n module.exports = exports[\"default\"];\r\n\r\n\r\n/***/ },\r\n/* 3 */\r\n/***/ function(module, exports, __webpack_require__) {\r\n\r\n 'use strict';\r\n\r\n exports.__esModule = true;\r\n exports.diffChars = diffChars;\r\n // istanbul ignore next\r\n\r\n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\r\n\r\n var _base = __webpack_require__(1);\r\n\r\n var _base2 = _interopRequireDefault(_base);\r\n\r\n var characterDiff = new _base2['default']();\r\n exports.characterDiff = characterDiff;\r\n\r\n function diffChars(oldStr, newStr, callback) {\r\n return characterDiff.diff(oldStr, newStr, callback);\r\n }\r\n\r\n\r\n/***/ },\r\n/* 4 */\r\n/***/ function(module, exports, __webpack_require__) {\r\n\r\n 'use strict';\r\n\r\n exports.__esModule = true;\r\n exports.diffWords = diffWords;\r\n exports.diffWordsWithSpace = diffWordsWithSpace;\r\n // istanbul ignore next\r\n\r\n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\r\n\r\n var _base = __webpack_require__(1);\r\n\r\n // Based on https://en.wikipedia.org/wiki/Latin_script_in_Unicode\r\n //\r\n // Ranges and exceptions:\r\n // Latin-1 Supplement, 0080–00FF\r\n // - U+00D7 × Multiplication sign\r\n // - U+00F7 ÷ Division sign\r\n // Latin Extended-A, 0100–017F\r\n // Latin Extended-B, 0180–024F\r\n // IPA Extensions, 0250–02AF\r\n // Spacing Modifier Letters, 02B0–02FF\r\n // - U+02C7 ˇ ˇ Caron\r\n // - U+02D8 ˘ ˘ Breve\r\n // - U+02D9 ˙ ˙ Dot Above\r\n // - U+02DA ˚ ˚ Ring Above\r\n // - U+02DB ˛ ˛ Ogonek\r\n // - U+02DC ˜ ˜ Small Tilde\r\n // - U+02DD ˝ ˝ Double Acute Accent\r\n // Latin Extended Additional, 1E00–1EFF\r\n\r\n var _base2 = _interopRequireDefault(_base);\r\n\r\n var extendedWordChars = /^[A-Za-z\\xC0-\\u02C6\\u02C8-\\u02D7\\u02DE-\\u02FF\\u1E00-\\u1EFF]+$/;\r\n\r\n var wordDiff = new _base2['default'](true);\r\n exports.wordDiff = wordDiff;\r\n var wordWithSpaceDiff = new _base2['default']();\r\n exports.wordWithSpaceDiff = wordWithSpaceDiff;\r\n wordDiff.tokenize = wordWithSpaceDiff.tokenize = function (value) {\r\n var tokens = value.split(/(\\s+|\\b)/);\r\n\r\n // Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set.\r\n for (var i = 0; i < tokens.length - 1; i++) {\r\n // If we have an empty string in the next field and we have only word chars before and after, merge\r\n if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) {\r\n tokens[i] += tokens[i + 2];\r\n tokens.splice(i + 1, 2);\r\n i--;\r\n }\r\n }\r\n\r\n return tokens;\r\n };\r\n\r\n function diffWords(oldStr, newStr, callback) {\r\n return wordDiff.diff(oldStr, newStr, callback);\r\n }\r\n\r\n function diffWordsWithSpace(oldStr, newStr, callback) {\r\n return wordWithSpaceDiff.diff(oldStr, newStr, callback);\r\n }\r\n\r\n\r\n/***/ },\r\n/* 5 */\r\n/***/ function(module, exports, __webpack_require__) {\r\n\r\n 'use strict';\r\n\r\n exports.__esModule = true;\r\n exports.diffLines = diffLines;\r\n exports.diffTrimmedLines = diffTrimmedLines;\r\n // istanbul ignore next\r\n\r\n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\r\n\r\n var _base = __webpack_require__(1);\r\n\r\n var _base2 = _interopRequireDefault(_base);\r\n\r\n var lineDiff = new _base2['default']();\r\n exports.lineDiff = lineDiff;\r\n var trimmedLineDiff = new _base2['default']();\r\n exports.trimmedLineDiff = trimmedLineDiff;\r\n trimmedLineDiff.ignoreTrim = true;\r\n\r\n lineDiff.tokenize = trimmedLineDiff.tokenize = function (value) {\r\n var retLines = [],\r\n lines = value.split(/^/m);\r\n for (var i = 0; i < lines.length; i++) {\r\n var line = lines[i],\r\n lastLine = lines[i - 1],\r\n lastLineLastChar = lastLine && lastLine[lastLine.length - 1];\r\n\r\n // Merge lines that may contain windows new lines\r\n if (line === '\\n' && lastLineLastChar === '\\r') {\r\n retLines[retLines.length - 1] = retLines[retLines.length - 1].slice(0, -1) + '\\r\\n';\r\n } else {\r\n if (this.ignoreTrim) {\r\n line = line.trim();\r\n // add a newline unless this is the last line.\r\n if (i < lines.length - 1) {\r\n line += '\\n';\r\n }\r\n }\r\n retLines.push(line);\r\n }\r\n }\r\n\r\n return retLines;\r\n };\r\n\r\n function diffLines(oldStr, newStr, callback) {\r\n return lineDiff.diff(oldStr, newStr, callback);\r\n }\r\n\r\n function diffTrimmedLines(oldStr, newStr, callback) {\r\n return trimmedLineDiff.diff(oldStr, newStr, callback);\r\n }\r\n\r\n\r\n/***/ },\r\n/* 6 */\r\n/***/ function(module, exports, __webpack_require__) {\r\n\r\n 'use strict';\r\n\r\n exports.__esModule = true;\r\n exports.diffSentences = diffSentences;\r\n // istanbul ignore next\r\n\r\n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\r\n\r\n var _base = __webpack_require__(1);\r\n\r\n var _base2 = _interopRequireDefault(_base);\r\n\r\n var sentenceDiff = new _base2['default']();\r\n exports.sentenceDiff = sentenceDiff;\r\n sentenceDiff.tokenize = function (value) {\r\n return value.split(/(\\S.+?[.!?])(?=\\s+|$)/);\r\n };\r\n\r\n function diffSentences(oldStr, newStr, callback) {\r\n return sentenceDiff.diff(oldStr, newStr, callback);\r\n }\r\n\r\n\r\n/***/ },\r\n/* 7 */\r\n/***/ function(module, exports, __webpack_require__) {\r\n\r\n 'use strict';\r\n\r\n exports.__esModule = true;\r\n exports.diffCss = diffCss;\r\n // istanbul ignore next\r\n\r\n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\r\n\r\n var _base = __webpack_require__(1);\r\n\r\n var _base2 = _interopRequireDefault(_base);\r\n\r\n var cssDiff = new _base2['default']();\r\n exports.cssDiff = cssDiff;\r\n cssDiff.tokenize = function (value) {\r\n return value.split(/([{}:;,]|\\s+)/);\r\n };\r\n\r\n function diffCss(oldStr, newStr, callback) {\r\n return cssDiff.diff(oldStr, newStr, callback);\r\n }\r\n\r\n\r\n/***/ },\r\n/* 8 */\r\n/***/ function(module, exports, __webpack_require__) {\r\n\r\n 'use strict';\r\n\r\n exports.__esModule = true;\r\n exports.diffJson = diffJson;\r\n exports.canonicalize = canonicalize;\r\n // istanbul ignore next\r\n\r\n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\r\n\r\n var _base = __webpack_require__(1);\r\n\r\n var _base2 = _interopRequireDefault(_base);\r\n\r\n var _line = __webpack_require__(5);\r\n\r\n var objectPrototypeToString = Object.prototype.toString;\r\n\r\n var jsonDiff = new _base2['default']();\r\n // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a\r\n // dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output:\r\n exports.jsonDiff = jsonDiff;\r\n jsonDiff.useLongestToken = true;\r\n\r\n jsonDiff.tokenize = _line.lineDiff.tokenize;\r\n jsonDiff.castInput = function (value) {\r\n return typeof value === 'string' ? value : JSON.stringify(canonicalize(value), undefined, ' ');\r\n };\r\n jsonDiff.equals = function (left, right) {\r\n return _base2['default'].prototype.equals(left.replace(/,([\\r\\n])/g, '$1'), right.replace(/,([\\r\\n])/g, '$1'));\r\n };\r\n\r\n function diffJson(oldObj, newObj, callback) {\r\n return jsonDiff.diff(oldObj, newObj, callback);\r\n }\r\n\r\n // This function handles the presence of circular references by bailing out when encountering an\r\n // object that is already on the \"stack\" of items being processed.\r\n\r\n function canonicalize(obj, stack, replacementStack) {\r\n stack = stack || [];\r\n replacementStack = replacementStack || [];\r\n\r\n var i = undefined;\r\n\r\n for (i = 0; i < stack.length; i += 1) {\r\n if (stack[i] === obj) {\r\n return replacementStack[i];\r\n }\r\n }\r\n\r\n var canonicalizedObj = undefined;\r\n\r\n if ('[object Array]' === objectPrototypeToString.call(obj)) {\r\n stack.push(obj);\r\n canonicalizedObj = new Array(obj.length);\r\n replacementStack.push(canonicalizedObj);\r\n for (i = 0; i < obj.length; i += 1) {\r\n canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack);\r\n }\r\n stack.pop();\r\n replacementStack.pop();\r\n } else if (typeof obj === 'object' && obj !== null) {\r\n stack.push(obj);\r\n canonicalizedObj = {};\r\n replacementStack.push(canonicalizedObj);\r\n var sortedKeys = [],\r\n key = undefined;\r\n for (key in obj) {\r\n /* istanbul ignore else */\r\n if (obj.hasOwnProperty(key)) {\r\n sortedKeys.push(key);\r\n }\r\n }\r\n sortedKeys.sort();\r\n for (i = 0; i < sortedKeys.length; i += 1) {\r\n key = sortedKeys[i];\r\n canonicalizedObj[key] = canonicalize(obj[key], stack, replacementStack);\r\n }\r\n stack.pop();\r\n replacementStack.pop();\r\n } else {\r\n canonicalizedObj = obj;\r\n }\r\n return canonicalizedObj;\r\n }\r\n\r\n\r\n/***/ },\r\n/* 9 */\r\n/***/ function(module, exports) {\r\n\r\n 'use strict';\r\n\r\n exports.__esModule = true;\r\n exports.applyPatch = applyPatch;\r\n\r\n function applyPatch(oldStr, uniDiff) {\r\n var diffstr = uniDiff.split('\\n'),\r\n hunks = [],\r\n i = 0,\r\n remEOFNL = false,\r\n addEOFNL = false;\r\n\r\n // Skip to the first change hunk\r\n while (i < diffstr.length && !/^@@/.test(diffstr[i])) {\r\n i++;\r\n }\r\n\r\n // Parse the unified diff\r\n for (; i < diffstr.length; i++) {\r\n if (diffstr[i][0] === '@') {\r\n var chnukHeader = diffstr[i].split(/@@ -(\\d+),(\\d+) \\+(\\d+),(\\d+) @@/);\r\n hunks.unshift({\r\n start: chnukHeader[3],\r\n oldlength: +chnukHeader[2],\r\n removed: [],\r\n newlength: chnukHeader[4],\r\n added: []\r\n });\r\n } else if (diffstr[i][0] === '+') {\r\n hunks[0].added.push(diffstr[i].substr(1));\r\n } else if (diffstr[i][0] === '-') {\r\n hunks[0].removed.push(diffstr[i].substr(1));\r\n } else if (diffstr[i][0] === ' ') {\r\n hunks[0].added.push(diffstr[i].substr(1));\r\n hunks[0].removed.push(diffstr[i].substr(1));\r\n } else if (diffstr[i][0] === '\\\\') {\r\n if (diffstr[i - 1][0] === '+') {\r\n remEOFNL = true;\r\n } else if (diffstr[i - 1][0] === '-') {\r\n addEOFNL = true;\r\n }\r\n }\r\n }\r\n\r\n // Apply the diff to the input\r\n var lines = oldStr.split('\\n');\r\n for (i = hunks.length - 1; i >= 0; i--) {\r\n var hunk = hunks[i];\r\n // Sanity check the input string. Bail if we don't match.\r\n for (var j = 0; j < hunk.oldlength; j++) {\r\n if (lines[hunk.start - 1 + j] !== hunk.removed[j]) {\r\n return false;\r\n }\r\n }\r\n Array.prototype.splice.apply(lines, [hunk.start - 1, hunk.oldlength].concat(hunk.added));\r\n }\r\n\r\n // Handle EOFNL insertion/removal\r\n if (remEOFNL) {\r\n while (!lines[lines.length - 1]) {\r\n lines.pop();\r\n }\r\n } else if (addEOFNL) {\r\n lines.push('');\r\n }\r\n return lines.join('\\n');\r\n }\r\n\r\n\r\n/***/ },\r\n/* 10 */\r\n/***/ function(module, exports, __webpack_require__) {\r\n\r\n 'use strict';\r\n\r\n exports.__esModule = true;\r\n exports.structuredPatch = structuredPatch;\r\n exports.createTwoFilesPatch = createTwoFilesPatch;\r\n exports.createPatch = createPatch;\r\n // istanbul ignore next\r\n\r\n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\r\n\r\n var _diffPatch = __webpack_require__(11);\r\n\r\n var _utilMap = __webpack_require__(2);\r\n\r\n var _utilMap2 = _interopRequireDefault(_utilMap);\r\n\r\n function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {\r\n if (!options) {\r\n options = { context: 4 };\r\n }\r\n\r\n var diff = _diffPatch.patchDiff.diff(oldStr, newStr);\r\n diff.push({ value: '', lines: [] }); // Append an empty value to make cleanup easier\r\n\r\n function contextLines(lines) {\r\n return _utilMap2['default'](lines, function (entry) {\r\n return ' ' + entry;\r\n });\r\n }\r\n\r\n var hunks = [];\r\n var oldRangeStart = 0,\r\n newRangeStart = 0,\r\n curRange = [],\r\n oldLine = 1,\r\n newLine = 1;\r\n\r\n var _loop = function (i) {\r\n var current = diff[i],\r\n lines = current.lines || current.value.replace(/\\n$/, '').split('\\n');\r\n current.lines = lines;\r\n\r\n if (current.added || current.removed) {\r\n // If we have previous context, start with that\r\n if (!oldRangeStart) {\r\n var prev = diff[i - 1];\r\n oldRangeStart = oldLine;\r\n newRangeStart = newLine;\r\n\r\n if (prev) {\r\n curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : [];\r\n oldRangeStart -= curRange.length;\r\n newRangeStart -= curRange.length;\r\n }\r\n }\r\n\r\n // Output our changes\r\n curRange.push.apply(curRange, _utilMap2['default'](lines, function (entry) {\r\n return (current.added ? '+' : '-') + entry;\r\n }));\r\n\r\n // Track the updated file position\r\n if (current.added) {\r\n newLine += lines.length;\r\n } else {\r\n oldLine += lines.length;\r\n }\r\n } else {\r\n // Identical context lines. Track line changes\r\n if (oldRangeStart) {\r\n // Close out any changes that have been output (or join overlapping)\r\n if (lines.length <= options.context * 2 && i < diff.length - 2) {\r\n // Overlapping\r\n curRange.push.apply(curRange, contextLines(lines));\r\n } else {\r\n // end the range and output\r\n var contextSize = Math.min(lines.length, options.context);\r\n curRange.push.apply(curRange, contextLines(lines.slice(0, contextSize)));\r\n\r\n var hunk = {\r\n oldStart: oldRangeStart,\r\n oldLines: oldLine - oldRangeStart + contextSize,\r\n newStart: newRangeStart,\r\n newLines: newLine - newRangeStart + contextSize,\r\n lines: curRange\r\n };\r\n if (i >= diff.length - 2 && lines.length <= options.context) {\r\n // EOF is inside this hunk\r\n var oldEOFNewline = /\\n$/.test(oldStr);\r\n var newEOFNewline = /\\n$/.test(newStr);\r\n if (lines.length == 0 && !oldEOFNewline) {\r\n // special case: old has no eol and no trailing context; no-nl can end up before adds\r\n curRange.splice(hunk.oldLines, 0, '\\\\ No newline at end of file');\r\n } else if (!oldEOFNewline || !newEOFNewline) {\r\n curRange.push('\\\\ No newline at end of file');\r\n }\r\n }\r\n hunks.push(hunk);\r\n\r\n oldRangeStart = 0;\r\n newRangeStart = 0;\r\n curRange = [];\r\n }\r\n }\r\n oldLine += lines.length;\r\n newLine += lines.length;\r\n }\r\n };\r\n\r\n for (var i = 0; i < diff.length; i++) {\r\n _loop(i);\r\n }\r\n\r\n return {\r\n oldFileName: oldFileName, newFileName: newFileName,\r\n oldHeader: oldHeader, newHeader: newHeader,\r\n hunks: hunks\r\n };\r\n }\r\n\r\n function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {\r\n var diff = structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options);\r\n\r\n var ret = [];\r\n if (oldFileName == newFileName) {\r\n ret.push('Index: ' + oldFileName);\r\n }\r\n ret.push('===================================================================');\r\n ret.push('--- ' + diff.oldFileName + (typeof diff.oldHeader === 'undefined' ? '' : '\\t' + diff.oldHeader));\r\n ret.push('+++ ' + diff.newFileName + (typeof diff.newHeader === 'undefined' ? '' : '\\t' + diff.newHeader));\r\n\r\n for (var i = 0; i < diff.hunks.length; i++) {\r\n var hunk = diff.hunks[i];\r\n ret.push('@@ -' + hunk.oldStart + ',' + hunk.oldLines + ' +' + hunk.newStart + ',' + hunk.newLines + ' @@');\r\n ret.push.apply(ret, hunk.lines);\r\n }\r\n\r\n return ret.join('\\n') + '\\n';\r\n }\r\n\r\n function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) {\r\n return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options);\r\n }\r\n\r\n\r\n/***/ },\r\n/* 11 */\r\n/***/ function(module, exports, __webpack_require__) {\r\n\r\n 'use strict';\r\n\r\n exports.__esModule = true;\r\n // istanbul ignore next\r\n\r\n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\r\n\r\n var _base = __webpack_require__(1);\r\n\r\n var _base2 = _interopRequireDefault(_base);\r\n\r\n var patchDiff = new _base2['default']();\r\n exports.patchDiff = patchDiff;\r\n patchDiff.tokenize = function (value) {\r\n var ret = [],\r\n linesAndNewlines = value.split(/(\\n|\\r\\n)/);\r\n\r\n // Ignore the final empty token that occurs if the string ends with a new line\r\n if (!linesAndNewlines[linesAndNewlines.length - 1]) {\r\n linesAndNewlines.pop();\r\n }\r\n\r\n // Merge the content and line separators into single tokens\r\n for (var i = 0; i < linesAndNewlines.length; i++) {\r\n var line = linesAndNewlines[i];\r\n\r\n if (i % 2) {\r\n ret[ret.length - 1] += line;\r\n } else {\r\n ret.push(line);\r\n }\r\n }\r\n return ret;\r\n };\r\n\r\n\r\n/***/ },\r\n/* 12 */\r\n/***/ function(module, exports) {\r\n\r\n // See: http://code.google.com/p/google-diff-match-patch/wiki/API\r\n \"use strict\";\r\n\r\n exports.__esModule = true;\r\n exports.convertChangesToDMP = convertChangesToDMP;\r\n\r\n function convertChangesToDMP(changes) {\r\n var ret = [],\r\n change = undefined,\r\n operation = undefined;\r\n for (var i = 0; i < changes.length; i++) {\r\n change = changes[i];\r\n if (change.added) {\r\n operation = 1;\r\n } else if (change.removed) {\r\n operation = -1;\r\n } else {\r\n operation = 0;\r\n }\r\n\r\n ret.push([operation, change.value]);\r\n }\r\n return ret;\r\n }\r\n\r\n\r\n/***/ },\r\n/* 13 */\r\n/***/ function(module, exports) {\r\n\r\n 'use strict';\r\n\r\n exports.__esModule = true;\r\n exports.convertChangesToXML = convertChangesToXML;\r\n\r\n function convertChangesToXML(changes) {\r\n var ret = [];\r\n for (var i = 0; i < changes.length; i++) {\r\n var change = changes[i];\r\n if (change.added) {\r\n ret.push('');\r\n } else if (change.removed) {\r\n ret.push('${nodeArr.join('')}`;\r\n }\r\n\r\n /**\r\n * 解析wiki目录\r\n * @param {[type]} $e [description]\r\n * @return {[type]} [description]\r\n */\r\n catalog($e) {\r\n var $headers = $(\":header\", $e);\r\n\r\n if ($headers && $headers.size() == 0) {\r\n return false;\r\n }\r\n\r\n var pre = null;\r\n\r\n var link = {\r\n pre: null,\r\n arr: []\r\n };\r\n var current = link;\r\n $headers.each(function(index, h) {\r\n var name = h.nodeName;\r\n if (!pre) {\r\n current.arr.push(h);\r\n pre = name;\r\n } else {\r\n if (pre < name) {\r\n var last = current;\r\n current = {\r\n pre: last,\r\n arr: [h]\r\n };\r\n last.arr.push(current);\r\n pre = name;\r\n } else if (pre == name) {\r\n current.arr.push(h);\r\n } else {\r\n current = current.pre ? current.pre : current;\r\n current.arr.push(h);\r\n pre = name;\r\n }\r\n }\r\n });\r\n\r\n return link;\r\n }\r\n\r\n generateDir(link, uid) {\r\n var $list = $('');\r\n this.prodDir($list, link, uid);\r\n return $list;\r\n }\r\n\r\n dir($e, uid) {\r\n let cl = this.catalog($e);\r\n return cl ? this.generateDir(cl, uid) : '';\r\n }\r\n\r\n prodDir($list, link, uid) {\r\n $.each(link.arr, (index, item) => {\r\n if (item.hasOwnProperty('arr')) {\r\n var $l = $('');\r\n $list.append($l);\r\n this.prodDir($l, item, uid);\r\n } else {\r\n var id = uid ? _.uniqueId(uid) : _.uniqueId('tms-wiki-dir-item-');\r\n var $item = $('').text($(item).attr('id', id).text()).attr('data-id', id);\r\n $list.append($item);\r\n }\r\n });\r\n }\r\n\r\n isElementInViewport(el) {\r\n\r\n //special bonus for those using jQuery\r\n if (typeof jQuery === \"function\" && el instanceof jQuery) {\r\n el = el[0];\r\n }\r\n\r\n var rect = el.getBoundingClientRect();\r\n\r\n return (\r\n rect.top >= 0 &&\r\n rect.left >= 0 &&\r\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && /*or $(window).height() */\r\n rect.right <= (window.innerWidth || document.documentElement.clientWidth) /*or $(window).width() */\r\n );\r\n }\r\n\r\n /**\r\n * 获取光标位置函数\r\n * @param {[type]} ctrl [description]\r\n * @return {[type]} [description]\r\n */\r\n getCursortPosition(ctrl) {\r\n var CaretPos = 0; // IE Support\r\n if (document.selection) {\r\n ctrl.focus();\r\n var Sel = document.selection.createRange();\r\n Sel.moveStart('character', -ctrl.value.length);\r\n CaretPos = Sel.text.length;\r\n }\r\n // Firefox support\r\n else if (ctrl.selectionStart || ctrl.selectionStart == '0') {\r\n CaretPos = ctrl.selectionStart;\r\n }\r\n return (CaretPos);\r\n }\r\n\r\n /**\r\n * 设置光标位置函数\r\n * @param {[type]} ctrl [description]\r\n * @param {[type]} pos [description]\r\n */\r\n setCaretPosition(ctrl, pos) {\r\n if (ctrl.setSelectionRange) {\r\n ctrl.focus();\r\n ctrl.setSelectionRange(pos, pos);\r\n } else if (ctrl.createTextRange) {\r\n var range = ctrl.createTextRange();\r\n range.collapse(true);\r\n range.moveEnd('character', pos);\r\n range.moveStart('character', pos);\r\n range.select();\r\n }\r\n }\r\n\r\n /**\r\n * 是否为绝对url\r\n * @param {[type]} url [description]\r\n * @return {Boolean} [description]\r\n */\r\n isAbsUrl(url) {\r\n if (_.startsWith(url, 'http://')) {\r\n return true;\r\n } else if (_.startsWith(url, 'https://')) {\r\n return true;\r\n } else if (_.startsWith(url, '//')) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n escape(html, encode) {\r\n return html\r\n .replace(!encode ? /&(?!#?\\w+;)/g : /&/g, '&')\r\n .replace(//g, '>')\r\n .replace(/\"/g, '"')\r\n .replace(/'/g, ''');\r\n }\r\n\r\n unescape(html) {\r\n // explicitly match decimal, hex, and named HTML entities \r\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/g, function(_, n) {\r\n n = n.toLowerCase();\r\n if (n === 'colon') return ':';\r\n if (n.charAt(0) === '#') {\r\n return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));\r\n }\r\n return '';\r\n });\r\n }\r\n\r\n /**\r\n * 打开新的浏览器窗口,并跳转到指定页面\r\n * url:需要跳转的地址\r\n */\r\n openNewWin(url) {\r\n\r\n if (url) {\r\n let $a = $(` `).appendTo('body').end();\r\n $(``).appendTo($a).end().click();\r\n\r\n _.delay(() => {\r\n $a.remove();\r\n }, 200);\r\n }\r\n\r\n }\r\n\r\n isAdminUser(user) {\r\n if (user && user.authorities) {\r\n return _.some(user.authorities, (item) => {\r\n return item.id.authority === 'ROLE_ADMIN';\r\n });\r\n }\r\n return false;\r\n }\r\n\r\n isSuperUser(user) {\r\n if (user && user.authorities) {\r\n return _.some(user.authorities, (item) => {\r\n return item.id.authority === 'ROLE_SUPER';\r\n });\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * 判断是否为全角字符\r\n * @param {[type]} str 待判断字符\r\n * @return {Boolean} true: 全角 false: 半角 \r\n */\r\n isSBCcase(str) {\r\n // [^\\x00-\\xff]全角字符\r\n return /[^\\x00-\\xff]/.test(str);\r\n }\r\n\r\n /**\r\n * 判断是否为汉字\r\n * @param {[type]} str 待判断字符\r\n * @return {Boolean} true: 汉字 false: 非汉字\r\n */\r\n isHanzi(str) {\r\n // [\\u4e00-\\u9fa5]汉字 \r\n return /[\\u4e00-\\u9fa5]/ig.test(str);\r\n }\r\n\r\n /**\r\n * 获取字符串byte长度\r\n * val: 要计算的字符串\r\n * return: 字符串byte长度\r\n */\r\n getByteLen(val) {\r\n var len = 0;\r\n for (var i = 0; i < val.length; i++) {\r\n if (this.isHanzi(val[i]) || this.isSBCcase(val[i])) {\r\n len += 2;\r\n } else {\r\n len += 1;\r\n }\r\n }\r\n return len;\r\n }\r\n\r\n /**\r\n * 制字符串的最大显示长度\r\n * value: 要处理的字符串\r\n * maxLen: 限制长度\r\n * return: 处理截取后的字符串\r\n */\r\n abbreviate(value, maxLen) {\r\n if (value && maxLen) {\r\n\r\n var len = 0;\r\n for (var i = 0; i < value.length; i++) {\r\n if (this.isHanzi(value[i]) || this.isSBCcase(value[i])) {\r\n len += 2;\r\n } else {\r\n len += 1;\r\n }\r\n\r\n if (len > maxLen) {\r\n return value.substr(0, i) + '...';\r\n }\r\n }\r\n }\r\n return value;\r\n }\r\n\r\n isMail(mail) {\r\n\r\n var emailRegex = /^([_a-z0-9-]+)(\\.[_a-z0-9-]+)*@([a-z0-9-]+)(\\.[a-z0-9-]+)*(\\.[a-z]{2,4})$/i;\r\n\r\n return emailRegex.test(mail);\r\n }\r\n\r\n // 浏览器OS判断正则表达式\r\n regExpOS = {\r\n ios: /(iPad|iPhone|iPod)/g,\r\n mobileChrome: /(CriOS)/g,\r\n mobile: /Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/g,\r\n cellphone: /iP(hone|od)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/g\r\n }\r\n\r\n // 是否为IE\r\n isIE() {\r\n var\r\n isIE11 = (!(window.ActiveXObject) && 'ActiveXObject' in window),\r\n isIE = ('ActiveXObject' in window);\r\n return (isIE11 || isIE);\r\n }\r\n\r\n // 是否为IE11\r\n isIE11() {\r\n return (!(window.ActiveXObject) && 'ActiveXObject' in window);\r\n }\r\n\r\n // 是否为IOS\r\n isIOS() {\r\n var\r\n userAgent = navigator.userAgent,\r\n isIOS = userAgent.match(this.regExpOS.ios),\r\n isMobileChrome = userAgent.match(this.regExpOS.mobileChrome);\r\n if (isIOS && !isMobileChrome) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n // 是否为cellphone\r\n isCellphone() {\r\n return !!navigator.userAgent.match(this.regExpOS.cellphone);\r\n }\r\n\r\n // 是否为Mobile\r\n isMobile() {\r\n return !!navigator.userAgent.match(this.regExpOS.mobile)\r\n }\r\n\r\n // 是否为Chrome\r\n isChrome() {\r\n return /chrome\\/([\\d.]+)/.test(navigator.userAgent.toLowerCase());\r\n }\r\n\r\n // 是否为Safari\r\n isSafari() {\r\n return /version\\/([\\d.]+)/.test(navigator.userAgent.toLowerCase());\r\n }\r\n\r\n // 是否为Firefox\r\n isFirefox() {\r\n return /firefox\\/([\\d.]+)/.test(navigator.userAgent.toLowerCase());\r\n }\r\n\r\n // 是否为Opera\r\n isOpera() {\r\n return /opera.([\\d.]+)/.test(navigator.userAgent.toLowerCase());\r\n }\r\n\r\n diffHtml(html) {\r\n\r\n var tags = ['html', 'head', 'meta', 'title', 'base', 'link', 'script', 'body', 'div', 'span'];\r\n\r\n var s = '';\r\n if (html) {\r\n s = html;\r\n _.each(tags, (tag) => {\r\n s = s.replace(new RegExp(`<(${tag})`, \"gi\"), `<$1`);\r\n });\r\n }\r\n\r\n return s;\r\n }\r\n\r\n encodeHtml(str) {\r\n var s = \"\";\r\n if (str.length == 0) return \"\";\r\n s = str.replace(/&/g, \">\");\r\n s = s.replace(//g, \">\");\r\n s = s.replace(/ /g, \" \");\r\n s = s.replace(/\\'/g, \"'\");\r\n s = s.replace(/\\\"/g, \""\");\r\n s = s.replace(/\\n/g, \"
${text}
`;\r\n };\r\n\r\n renderer.code = function(code, lang, escaped) {\r\n let codeBk = code;\r\n if (this.options.highlight) {\r\n var out = this.options.highlight(code, lang);\r\n if (out != null && out !== code) {\r\n escaped = true;\r\n code = out;\r\n }\r\n }\r\n\r\n if (!lang) {\r\n return `${escaped ? code : utils.escape(code, true)}\\n
${escaped ? code : utils.escape(code, true)}\\n
默认确认对话框内容.
',\r\n });\r\n return this;\r\n }\r\n\r\n context(aurelia) {\r\n this.aurelia = aurelia;\r\n return this;\r\n }\r\n\r\n}\r\n\r\nexport default new Config();\r\n","/**\r\n * 程序初次加载启动,进行一些初始化操作:\r\n */\r\nimport 'jquery';\r\nimport 'jquery.scrollto'; // https://github.com/flesler/jquery.scrollTo\r\nimport 'timeago';\r\nimport 'lodash';\r\nimport 'hotkeys';\r\n\r\nimport config from './config';\r\n\r\nexport function configure(aurelia, params) {\r\n\r\n config.context(aurelia)\r\n .initGlobalVar()\r\n .initHttp()\r\n .initAjax()\r\n .initToastr()\r\n .initMarked()\r\n .initAnimateCss()\r\n .initEmoji()\r\n .initModaal();\r\n}\r\n","/* \r\n代码生成常用命令:\r\nau generate element\r\nau generate attribute\r\nau generate value-converter\r\nau generate binding-behavior\r\nau generate task\r\nau generate generator\r\n*/\r\n/* 加载全局资源 */\r\nexport function configure(aurelia) {\r\n\r\n aurelia.globalResources([\r\n 'resources/value-converters/vc-common',\r\n 'resources/binding-behaviors/bb-key',\r\n 'resources/attributes/attr-task',\r\n 'resources/attributes/attr-swipebox',\r\n 'resources/attributes/attr-pastable',\r\n 'resources/attributes/attr-autosize',\r\n 'resources/attributes/attr-dropzone',\r\n 'resources/attributes/attr-attr',\r\n 'resources/attributes/attr-c2c',\r\n 'resources/attributes/attr-dimmer',\r\n 'resources/attributes/attr-ui-dropdown',\r\n 'resources/attributes/attr-ui-dropdown-action',\r\n 'resources/attributes/attr-ui-dropdown-hover',\r\n 'resources/attributes/attr-ui-tab',\r\n 'resources/attributes/attr-ui-popup',\r\n 'resources/attributes/attr-ui-checkbox',\r\n 'resources/attributes/attr-tablesort',\r\n 'resources/attributes/attr-textcomplete',\r\n 'resources/attributes/attr-scrollbar',\r\n 'resources/attributes/attr-modaal',\r\n 'resources/elements/em-modal',\r\n 'resources/elements/em-dropdown',\r\n 'resources/elements/em-checkbox',\r\n 'resources/elements/em-confirm-modal',\r\n 'resources/elements/em-hotkeys-modal',\r\n 'resources/elements/em-chat-input',\r\n 'resources/elements/em-chat-top-menu',\r\n 'resources/elements/em-chat-sidebar-left',\r\n 'resources/elements/em-chat-content-item',\r\n 'resources/elements/em-chat-sidebar-right',\r\n 'resources/elements/em-chat-channel-create',\r\n 'resources/elements/em-chat-channel-join',\r\n 'resources/elements/em-chat-channel-edit',\r\n 'resources/elements/em-chat-channel-members-mgr',\r\n 'resources/elements/em-chat-channel-members-show',\r\n 'resources/elements/em-chat-channel-link-mgr',\r\n 'resources/elements/em-chat-system-link-mgr',\r\n 'resources/elements/em-chat-msg-popup',\r\n 'resources/elements/em-chat-member-popup',\r\n 'resources/elements/em-chat-attach',\r\n 'resources/elements/em-chat-schedule',\r\n 'resources/elements/em-chat-msg',\r\n 'resources/elements/em-chat-schedule-edit',\r\n 'resources/elements/em-chat-schedule-remind',\r\n 'resources/elements/em-chat-share',\r\n 'resources/elements/em-chat-content-item-footbar',\r\n 'resources/elements/em-blog-write',\r\n 'resources/elements/em-blog-left-sidebar',\r\n 'resources/elements/em-blog-right-sidebar',\r\n 'resources/elements/em-blog-content',\r\n 'resources/elements/em-blog-top-menu',\r\n 'resources/elements/em-blog-share',\r\n 'resources/elements/em-blog-comment',\r\n 'resources/elements/em-blog-save',\r\n 'resources/elements/em-blog-space-create',\r\n 'resources/elements/em-blog-space-edit',\r\n 'resources/elements/em-blog-space-update',\r\n 'resources/elements/em-blog-history',\r\n 'resources/elements/em-blog-history-view',\r\n 'resources/elements/em-blog-history-diff',\r\n 'resources/elements/em-blog-comment-popup',\r\n 'resources/elements/em-blog-space-auth',\r\n 'resources/elements/em-user-avatar',\r\n 'resources/elements/em-user-edit',\r\n 'resources/elements/em-blog-comment-share',\r\n ]);\r\n}\r\n","import {\r\n bindable\r\n}\r\nfrom 'aurelia-framework';\r\nimport {\r\n EventAggregator\r\n}\r\nfrom 'aurelia-event-aggregator';\r\n\r\n/**\r\n * description\r\n */\r\nexport class TestLifeCycle {\r\n\r\n @\r\n bindable\r\n prop = null;\r\n\r\n static inject = [EventAggregator];\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor(eventAggregator) {\r\n this.eventAggregator = eventAggregator;\r\n\r\n console.log('constructor');\r\n\r\n // this.subscribe1 = this.eventAggregator.subscribe('', (payload) => {\r\n\r\n // });\r\n\r\n }\r\n\r\n /**\r\n * 在视图和视图模型都被创建后调用, 允许访问视图实例对象.\r\n * @param {[object]} view 视图实例对象\r\n */\r\n created(view) {\r\n console.log('created');\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎绑定到视图时被调用\r\n * @param {[object]} ctx 视图绑定上下文环境对象\r\n */\r\n bind(ctx) {\r\n console.log('bind');\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n console.log('unbind');\r\n // this.subscribe1.dispose();\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n console.log('attached');\r\n }\r\n\r\n /**\r\n * 当视图从DOM中分离时被调用\r\n */\r\n detached() {\r\n console.log('detached');\r\n }\r\n\r\n /**\r\n * 控制是否可以导航到当前路由视图模型(ViewModel)\r\n * @param {[object]} params 参数\r\n * @param {[object]} routeConfig 路由配置\r\n * @param {[object]} navigationInstruction 导航指令\r\n * @return {[boolean | promise]} 返回一个boolean类型, 一个boolean类型延迟许诺(promise)或者一个导航(navigation)命令.\r\n */\r\n canActivate(params, routeConfig, navigationInstruction) {\r\n console.log('canActivate');\r\n }\r\n\r\n /**\r\n * 在视图模型(ViewModel)展示前执行一些自定义代码逻辑\r\n * @param {[object]} params 参数\r\n * @param {[object]} routeConfig 路由配置\r\n * @param {[object]} navigationInstruction 导航指令\r\n * @return {[promise]} 你可以可选的返回一个延迟许诺(promise), 告诉路由等待执行bind和attach视图(view), 直到你完成你的处理工作.\r\n */\r\n activate(params, routeConfig, navigationInstruction) {\r\n console.log('activate');\r\n }\r\n\r\n /**\r\n * 控制是否可以导航离开当前路由视图模型(ViewModel)到其它路由视图模型(ViewModel)\r\n * @return {[boolean | promise]} 返回一个boolean类型, 一个boolean类型延迟许诺(promise)或者一个导航(navigation)命令.\r\n */\r\n canDeactivate() {\r\n console.log('canDeactivate');\r\n }\r\n\r\n /**\r\n * 在当前视图模型(ViewModel)切换离开后执行一些自定义代码逻辑\r\n * @return {[promise]} 你可以可选的返回一个延迟许诺(promise), 告诉路由等待, 直到你完成你的处理工作.\r\n */\r\n deactivate() {\r\n console.log('deactivate');\r\n }\r\n}\r\n","export class UserLogin {\r\n\r\n username = '';\r\n password = '';\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n $(this.rememberMeRef).checkbox();\r\n }\r\n\r\n kdHandler(evt) {\r\n if (evt.keyCode === 13) {\r\n this.loginHandler();\r\n }\r\n\r\n return true;\r\n }\r\n\r\n loginHandler() {\r\n\r\n // $.get('/admin/login', (data) => {\r\n\r\n let rm = $(this.rememberMeRef).checkbox('is checked') ? 'on' : '';\r\n\r\n $.post('/admin/signin', {\r\n username: this.username,\r\n password: this.password,\r\n \"remember-me\": rm\r\n }).done(() => {\r\n\r\n localStorage && localStorage.setItem(nsCons.KEY_LOGIN_USERNAME, this.username);\r\n\r\n let redirect = utils.urlQuery('redirect');\r\n if (redirect) {\r\n window.location = decodeURIComponent(redirect);\r\n } else {\r\n let chatTo = null;\r\n if (localStorage) {\r\n chatTo = localStorage.getItem(nsCons.KEY_REMEMBER_LAST_CHAT_TO);\r\n }\r\n if (chatTo) {\r\n window.location = wurl('path') + `#/chat/${chatTo}`;\r\n } else {\r\n window.location = wurl('path') + `#/chat/@${this.username}`;\r\n }\r\n }\r\n\r\n }).fail((xhr, sts, err) => {\r\n if (xhr.status == 401) {\r\n toastr.error('用户名密码不正确!');\r\n } else if (xhr.status != 0) {\r\n toastr.error('网络连接错误!');\r\n }\r\n });\r\n // });\r\n\r\n return true;\r\n\r\n }\r\n}\r\n","/**\r\n * 用户密码重置\r\n */\r\nexport class UserPwdReset {\r\n\r\n mail = '';\r\n pwd = '';\r\n\r\n isReq = false;\r\n\r\n token = utils.urlQuery('id');\r\n\r\n resetPwdHandler() {\r\n\r\n if (!$(this.fm).form('is valid')) {\r\n toastr.error('邮件地址输入不合法!');\r\n return;\r\n }\r\n\r\n this.isReq = true;\r\n http.fetch('/free/user/pwd/reset', {\r\n method: 'post',\r\n body: json({\r\n mail: this.mail,\r\n baseUrl: utils.getBaseUrl(),\r\n path: wurl('path')\r\n })\r\n }).then((resp) => {\r\n if (resp.ok) {\r\n resp.json().then((data) => {\r\n if (data.success) {\r\n toastr.success('重置密码邮件链接发送成功!');\r\n _.delay(() => {\r\n window.location = \"/admin/login\";\r\n }, 2000);\r\n } else {\r\n toastr.error(data.data, '重置密码邮件链接发送失败!');\r\n this.isReq = false;\r\n }\r\n });\r\n }\r\n\r\n });\r\n }\r\n\r\n newPwdHandler() {\r\n\r\n if (!$(this.fm2).form('is valid')) {\r\n toastr.error('新密码输入不合法!');\r\n return;\r\n }\r\n\r\n this.isReq = true;\r\n http.fetch('/free/user/pwd/new', {\r\n method: 'post',\r\n body: json({\r\n token: this.token,\r\n pwd: this.pwd\r\n })\r\n }).then((resp) => {\r\n if (resp.ok) {\r\n resp.json().then((data) => {\r\n if (data.success) {\r\n toastr.success('重置密码成功!');\r\n _.delay(() => {\r\n window.location = \"/admin/login\";\r\n }, 2000);\r\n } else {\r\n toastr.error(data.data, '重置密码失败!');\r\n this.isReq = false;\r\n }\r\n });\r\n }\r\n \r\n });\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n\r\n $(this.fm).form({\r\n on: 'blur',\r\n inline: true,\r\n fields: {\r\n mail: ['empty', 'email']\r\n }\r\n });\r\n\r\n $(this.fm2).form({\r\n on: 'blur',\r\n inline: true,\r\n fields: {\r\n mail: ['empty', 'minLength[8]']\r\n }\r\n });\r\n }\r\n\r\n}\r\n","/**\r\n * 账户注册\r\n */\r\nexport class ViewModel {\r\n\r\n header = '账户激活页面';\r\n\r\n /**\r\n * 在视图模型(ViewModel)展示前执行一些自定义代码逻辑\r\n * @param {[object]} params 参数\r\n * @param {[object]} routeConfig 路由配置\r\n * @param {[object]} navigationInstruction 导航指令\r\n * @return {[promise]} 你可以可选的返回一个延迟许诺(promise), 告诉路由等待执行bind和attach视图(view), 直到你完成你的处理工作.\r\n */\r\n activate(params, routeConfig, navigationInstruction) {\r\n\r\n if (params.id) {\r\n this.token = params.id;\r\n\r\n this.isReq = true;\r\n this.header = '账户激活中,请稍后...!';\r\n http.fetch('/free/user/register/activate', {\r\n method: 'post',\r\n body: json({\r\n token: this.token\r\n })\r\n }).then((resp) => {\r\n if (resp.ok) {\r\n resp.json().then((data) => {\r\n if (data.success) {\r\n this.header = '账户激活成功,请返回登录页面登录!';\r\n } else {\r\n this.header = '账户激活失败!';\r\n toastr.error(data.data, '账户激活失败!');\r\n }\r\n });\r\n this.isReq = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n\r\n $(this.fm).form({\r\n on: 'blur',\r\n inline: true,\r\n fields: {\r\n username: {\r\n identifier: 'username',\r\n rules: [{\r\n type: 'empty'\r\n }, {\r\n type: 'minLength[3]'\r\n }, {\r\n type: 'regExp',\r\n value: /^[a-z]+[a-z0-9\\.\\-_]*[a-z0-9]+$/,\r\n prompt: '小写字母数字.-_组合,字母开头,字母数字结尾'\r\n }]\r\n },\r\n pwd: {\r\n identifier: 'pwd',\r\n rules: [{\r\n type: 'empty'\r\n }, {\r\n type: 'minLength[8]'\r\n }]\r\n },\r\n name: {\r\n identifier: 'name',\r\n rules: [{\r\n type: 'empty'\r\n }, {\r\n type: 'maxLength[20]'\r\n }]\r\n },\r\n mail: {\r\n identifier: 'mail',\r\n rules: [{\r\n type: 'empty'\r\n }, {\r\n type: 'email'\r\n }]\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n okHandler() {\r\n\r\n if (!$(this.fm).form('is valid')) {\r\n toastr.error('账户注册信息输入不合法!');\r\n return;\r\n }\r\n\r\n this.isReq = true;\r\n http.fetch('/free/user/register', {\r\n method: 'post',\r\n body: json({\r\n username: this.username,\r\n pwd: this.pwd,\r\n name: this.name,\r\n mail: this.mail,\r\n baseUrl: utils.getBaseUrl(),\r\n path: wurl('path')\r\n })\r\n }).then((resp) => {\r\n if (resp.ok) {\r\n resp.json().then((data) => {\r\n if (data.success) {\r\n toastr.success('注册成功,请通过接收到的激活邮件激活账户!');\r\n _.delay(() => {\r\n window.location = \"/admin/login\";\r\n }, 2000);\r\n } else {\r\n toastr.error(data.data, '注册失败!');\r\n this.isReq = false;\r\n }\r\n });\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n}\r\n","import { customAttribute, bindable } from 'aurelia-framework';\r\nimport { inject } from 'aurelia-dependency-injection';\r\n\r\n@customAttribute('attr')\r\n@inject(Element)\r\nexport class AttrAttr {\r\n\r\n @bindable name;\r\n @bindable value;\r\n\r\n constructor(element) {\r\n\r\n this.element = element;\r\n }\r\n\r\n nameChanged(value) {}\r\n\r\n valueChanged(value) {\r\n\r\n this.value = value;\r\n\r\n if (value) {\r\n $(this.element).attr(this.name, value);\r\n } else {\r\n $(this.element).removeAttr(this.name);\r\n }\r\n }\r\n\r\n bind(bindingContext) {\r\n this.valueChanged(this.value);\r\n }\r\n\r\n unbind() {}\r\n}\r\n","import { inject } from 'aurelia-framework';\r\nimport { customAttribute } from 'aurelia-templating';\r\n\r\n@customAttribute('autosize')\r\n@inject(Element)\r\nexport class AttrAutosize {\r\n\r\n constructor(element) {\r\n this.element = element;\r\n }\r\n\r\n valueChanged(newValue, oldValue) {\r\n autosize(this.element);\r\n }\r\n\r\n bind(bindingContext) {\r\n this.valueChanged(this.value);\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n autosize.destroy(this.elements)\r\n }\r\n}\r\n","import { customAttribute, inject } from 'aurelia-framework';\r\nimport Clipboard from 'clipboard';\r\n\r\n@customAttribute('c2c')\r\n@inject(Element)\r\nexport class AttrC2cCustomAttribute {\r\n\r\n constructor(element) {\r\n this.element = element;\r\n this._init();\r\n }\r\n\r\n _init() {\r\n\r\n $(this.element).append(``);\r\n this.clipboard = new Clipboard($(this.element).find('i.copy.icon')[0], {\r\n text: (trigger) => {\r\n return this.value ? this.value : $(this.element).text();\r\n }\r\n });\r\n let $tp = $(this.element).find('[data-tooltip]').hover(function() {}, function() {\r\n $(this).attr('data-tooltip', '复制到剪贴板!');\r\n });\r\n this.clipboard.on('success', (e) => {\r\n $tp.attr('data-tooltip', '复制成功!');\r\n }).on('error', (e) => {\r\n $tp.attr('data-tooltip', '复制失败!');\r\n });\r\n\r\n $(this.element).hover(() => {\r\n if (this.value || $(this.element).text()) {\r\n $tp.show();\r\n }\r\n }, () => {\r\n $tp.hide();\r\n });\r\n }\r\n\r\n unbind() {\r\n this.clipboard && this.clipboard.destroy();\r\n }\r\n}\r\n","import { inject } from 'aurelia-dependency-injection';\r\nimport { customAttribute } from 'aurelia-templating';\r\n\r\n@customAttribute('dimmer')\r\n@inject(Element)\r\nexport class AttrDimmer {\r\n\r\n constructor(element) {\r\n\r\n this.element = element;\r\n this.$dimmer = $('${name | upper}
\r\n */\r\nexport class UpperValueConverter {\r\n toView(value) {\r\n return value && value.toUpperCase();\r\n }\r\n}\r\n\r\n/**\r\n * 转换为小写形式\r\n * eg:${name | lower}
\r\n */\r\nexport class LowerValueConverter {\r\n toView(value) {\r\n return value && value.toLowerCase();\r\n }\r\n}\r\n\r\n/**\r\n * 时间格式化值转换器, using as: 4234234234 | dateFormat\r\n * doc: https://www.npmjs.com/package/jquery-format\r\n */\r\nexport class DateValueConverter {\r\n toView(value, format = 'yyyy-MM-dd hh:mm:ss') {\r\n return _.isInteger(_.toNumber(value)) ? $.format.date(new Date(value), format) : (value ? value : '');\r\n }\r\n}\r\n\r\n/**\r\n * 数值格式化值转换器, using as: 4234234234 | numberFormat\r\n * doc: https://www.npmjs.com/package/jquery-format\r\n */\r\nexport class NumberValueConverter {\r\n toView(value, format = '#,##0.00') {\r\n return _.isNumber(_.toNumber(value)) ? $.format.number(value, format) : (value ? value : '');\r\n }\r\n}\r\n\r\n/**\r\n * 日期timeago值转换器\r\n * doc: \r\n * https://www.npmjs.com/package/better-timeago\r\n * https://www.npmjs.com/package/better-timeago-locale-zh-cn\r\n */\r\nexport class TimeagoValueConverter {\r\n toView(value) {\r\n return value ? tg.format(value, 'zh_CN') : '';\r\n }\r\n}\r\n\r\n/**\r\n * markdown内容解析处理\r\n */\r\nexport class ParseMdValueConverter {\r\n toView(value) {\r\n return value ? marked(utils.preParse(value)) : '';\r\n }\r\n}\r\n\r\nexport class SortValueConverter {\r\n toView(value, prop) {\r\n return _.isArray(value) ? _.sortBy(value, prop) : value;\r\n }\r\n}\r\n\r\nexport class SortUsersValueConverter {\r\n toView(value, username) {\r\n if (_.isArray(value) && username) {\r\n let user = _.find(value, { username: username });\r\n if (user) {\r\n return [user, ..._.reject(value, { username: username })];\r\n }\r\n }\r\n return value;\r\n }\r\n}\r\n\r\nexport class SortUsernamesValueConverter {\r\n toView(value, username) {\r\n if (_.isArray(value) && username) {\r\n if (_.includes(value, username)) {\r\n return [username, ..._.without(value, username)];\r\n }\r\n }\r\n return value;\r\n }\r\n}\r\n\r\nexport class SortChannelsValueConverter {\r\n toView(value) {\r\n if (_.isArray(value)) {\r\n let channelAll = _.find(value, { name: 'all' });\r\n if (channelAll) {\r\n return [channelAll, ..._.reject(value, { name: 'all' })]\r\n }\r\n }\r\n return value;\r\n }\r\n}\r\n\r\nexport class UserNameValueConverter {\r\n toView(value) {\r\n let user = _.find(window.tmsUsers, { username: value });\r\n if (user) {\r\n return user.name;\r\n }\r\n return value;\r\n }\r\n}\r\n\r\nexport class EmojiValueConverter {\r\n toView(value, mkbodyDom) {\r\n if (emojify) {\r\n _.defer(() => {\r\n emojify.run(mkbodyDom);\r\n });\r\n }\r\n return value;\r\n }\r\n}\r\n\r\nexport class EmojiReplValueConverter {\r\n toView(value) {\r\n return emojify.replace(value);\r\n }\r\n}\r\n\r\nexport class ChatLabelExistValueConverter {\r\n toView(chatLabels, type) {\r\n if (chatLabels && chatLabels.length != 0) {\r\n if (_.some(chatLabels, cl => (type ? cl.type == type : true) && cl.voters.length != 0)) {\r\n return '';\r\n }\r\n }\r\n return 'none';\r\n }\r\n}\r\n\r\nexport class ChatLabelTipValueConverter {\r\n toView(chatLabel) {\r\n let vs = _.map(chatLabel.voters, v => v.name ? v.name : v.username);\r\n return `${_.join(vs, ',')}${vs.length}人${chatLabel.type == 'Emoji' ? '表示了' : '标记了'} [${chatLabel.type == 'Emoji' ? chatLabel.description : chatLabel.name}]`\r\n }\r\n}\r\n\r\nexport class ChatLabelFilterValueConverter {\r\n toView(chatLabels, type = 'Emoji') {\r\n return _.filter(chatLabels, { type: type });\r\n }\r\n}\r\n\r\nexport class LabelColorValueConverter {\r\n\r\n toView(chatLabel) {\r\n let tag = _.find(tags, { value: chatLabel.name });\r\n return tag ? tag.color : '';\r\n }\r\n}\r\n\r\nexport class LabelCssValueConverter {\r\n\r\n toView(chatLabel) {\r\n let cs = colorHash.rgb(chatLabel.name);\r\n let bgColor = `rgba(${cs[0]}, ${cs[1]}, ${cs[2]}, 0.6)`;\r\n let color = `rgba(${255 - cs[0]}, ${255 - cs[1]}, ${255 - cs[2]}, 1)`;\r\n\r\n let tag = _.find(tags, { value: chatLabel.name });\r\n return !tag ? { \"background-color\": bgColor, \"color\": color } : '';\r\n }\r\n}\r\n\r\nexport class Nl2brValueConverter {\r\n toView(value) {\r\n if (value) {\r\n return _.replace(value, /\\n/g, '详情内容
\\n详情内容
\\n${item.title}
吗?`,\r\n onapprove: () => {\r\n $.post('/admin/channel/join', {\r\n id: item.id\r\n }, (data) => {\r\n if (data.success) {\r\n toastr.success('加入频道成功!');\r\n item.joined = true;\r\n ea.publish(nsCons.EVENT_CHAT_CHANNEL_JOINED, { channel: data.data });\r\n } else {\r\n toastr.error(data.data, '加入频道失败!');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n leaveHandler(item) {\r\n this.confirmMd.show({\r\n content: `确定要离开频道${item.title}
吗?`,\r\n onapprove: () => {\r\n $.post('/admin/channel/leave', {\r\n id: item.id\r\n }, (data) => {\r\n if (data.success) {\r\n toastr.success('离开频道成功!');\r\n item.joined = false;\r\n ea.publish(nsCons.EVENT_CHAT_CHANNEL_LEAVED, { channel: data.data });\r\n } else {\r\n toastr.error(data.data, '离开频道失败!');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatChannelLinkMgr {\r\n\r\n @bindable channel;\r\n\r\n @bindable loginUser;\r\n\r\n links = [];\r\n\r\n channelChanged(news, old) {\r\n if (this.channel) {\r\n $.get('/admin/link/listBy', {\r\n channelId: this.channel.id\r\n }, (data) => {\r\n if (data.success) {\r\n this.links = data.data;\r\n } else {\r\n this.links = [];\r\n }\r\n });\r\n }\r\n }\r\n\r\n addHandler() {\r\n $.post('/admin/link/create', {\r\n title: this.title,\r\n href: this.href,\r\n channelId: this.channel.id\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this.title = '';\r\n this.href = '';\r\n this.links.push(data.data);\r\n ea.publish(nsCons.EVENT_CHANNEL_LINKS_REFRESH, {});\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n delHandler(item) {\r\n $.post('/admin/link/delete', {\r\n id: item.id\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this.links = _.reject(this.links, { id: item.id });\r\n ea.publish(nsCons.EVENT_CHANNEL_LINKS_REFRESH, {});\r\n toastr.success('删除成功!');\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n editHandler(item) {\r\n item.oldTitle = item.title;\r\n item.oldHref = item.href;\r\n item.isEditing = true;\r\n }\r\n\r\n updateHandler(item) {\r\n $.post('/admin/link/update', {\r\n id: item.id,\r\n title: item.title,\r\n href: item.href,\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n item.isEditing = false;\r\n ea.publish(nsCons.EVENT_CHANNEL_LINKS_REFRESH, {});\r\n toastr.success('更新成功!');\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n showHandler() {\r\n this._reset();\r\n }\r\n\r\n _reset() {}\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {}\r\n\r\n show() {\r\n this.channelChanged();\r\n this.emModal.show({ autoDimmer: false });\r\n }\r\n\r\n approveHandler(modal) {\r\n\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatChannelMembersMgr {\r\n\r\n @bindable channel;\r\n @bindable users;\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.membersOpts = {\r\n onAdd: (addedValue, addedText, $addedChoice) => {\r\n this.emModal.showDimmer();\r\n $.post('/admin/channel/addMember', {\r\n id: this.channel.id,\r\n members: addedValue,\r\n baseUrl: utils.getBaseUrl(),\r\n path: wurl('path'),\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('添加成员成功!');\r\n this.channel.members = data.data.members;\r\n ea.publish(nsCons.EVENT_CHAT_CHANNEL_MEMBER_ADD_OR_REMOVE, {\r\n type: 'add',\r\n members: data.data.members\r\n });\r\n } else {\r\n toastr.error(data.data, '添加成员失败!');\r\n }\r\n }).always(() => {\r\n this.emModal.hideDimmer();\r\n });\r\n },\r\n onLabelRemove: (removedValue) => {\r\n if (this.channel.owner.username == removedValue) {\r\n return false;\r\n }\r\n\r\n this.emModal.showDimmer();\r\n $.post('/admin/channel/removeMember', {\r\n id: this.channel.id,\r\n members: removedValue,\r\n baseUrl: utils.getBaseUrl(),\r\n path: wurl('path'),\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('移除成员成功!');\r\n this.channel.members = data.data.members;\r\n ea.publish(nsCons.EVENT_CHAT_CHANNEL_MEMBER_ADD_OR_REMOVE, {\r\n type: 'remove',\r\n members: data.data.members\r\n });\r\n } else {\r\n toastr.error(data.data, '移除成员失败!');\r\n }\r\n }).always(() => {\r\n this.emModal.hideDimmer();\r\n });\r\n }\r\n };\r\n }\r\n\r\n channelChanged() {\r\n if (this.channel) {\r\n let usernames = _.sortBy(_.map(this.channel.members, 'username'));\r\n // usernames = [this.channel.owner.username, ..._.without(usernames, this.channel.owner.username)];\r\n _.defer(() => {\r\n $(this.membersRef).dropdown().dropdown('clear').dropdown('set selected', usernames).dropdown(this.membersOpts);\r\n });\r\n\r\n }\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n\r\n }\r\n\r\n initMembersUI(last) {\r\n\r\n if (last) {\r\n _.defer(() => {\r\n this.channelChanged();\r\n });\r\n }\r\n }\r\n\r\n showHandler() {\r\n $(this.membersRef).dropdown().dropdown('clear');\r\n this.channelChanged();\r\n }\r\n\r\n approveHandler(modal) {\r\n\r\n }\r\n\r\n show() {\r\n this.emModal.show({\r\n hideOnApprove: true,\r\n autoDimmer: false\r\n });\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\n\n@containerless\nexport class EmChatChannelMembersShow {\n\n @bindable channel;\n\n showHandler() {\n\n }\n\n approveHandler(modal) {\n\n }\n\n show() {\n this.emModal.show({\n hideOnApprove: true,\n autoDimmer: false\n });\n }\n}\n","import { bindable, containerless } from 'aurelia-framework';\r\nimport tags from 'common/common-tags';\r\n\r\n@containerless\r\nexport class EmChatContentItemFootbar {\r\n\r\n @bindable chat;\r\n\r\n emojis = [{\r\n label: '赞同',\r\n value: ':+1:',\r\n type: 'emoji'\r\n }, {\r\n label: '反对',\r\n value: ':-1:',\r\n type: 'emoji'\r\n }, {\r\n label: '知悉',\r\n value: ':ok_hand:',\r\n type: 'emoji'\r\n }, {\r\n label: '关注',\r\n value: ':eyes:',\r\n type: 'emoji'\r\n }, {\r\n label: '爱心',\r\n value: ':heart:',\r\n type: 'emoji'\r\n }, {\r\n label: '开心',\r\n value: ':laughing:',\r\n type: 'emoji'\r\n }, {\r\n label: '困惑',\r\n value: ':confused:',\r\n type: 'emoji'\r\n }, {\r\n label: '悲伤',\r\n value: ':cry:',\r\n type: 'emoji'\r\n }];\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.tags = tags;\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n $([this.addEmojiRef])\r\n .popup({\r\n inline: true,\r\n hoverable: true\r\n });\r\n $([this.addTagRef])\r\n .popup({\r\n inline: true,\r\n hoverable: true,\r\n // position: 'top center',\r\n onHide: () => {\r\n this.isCustomTag = false;\r\n $(this.tagRef).val('');\r\n }\r\n });\r\n }\r\n\r\n toggleChatLabelHandler(item) {\r\n $.post(`/admin/chat/${nsCtx.isAt ? 'direct' : 'channel'}/label/toggle`, {\r\n url: nsCtx.isAt ? utils.getBasePath() : utils.getUrl(),\r\n meta: item.type == 'emoji' ? $(emojify.replace(item.value)).attr('src') : item.value,\r\n type: item.type == 'emoji' ? 'Emoji' : 'Tag',\r\n contentHtml: utils.md2html(this.chat.content),\r\n name: item.value,\r\n desc: item.label,\r\n id: this.chat.id,\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n let cl = _.find(this.chat.chatLabels, { id: data.data.id });\r\n if (cl) {\r\n cl.voters = data.data.voters;\r\n } else {\r\n this.chat.chatLabels = [...this.chat.chatLabels, data.data];\r\n }\r\n bs.signal('sg-chatlabel-refresh');\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n toggleCustomTagHandler() {\r\n if (this.isCustomTag) {\r\n let v = $(this.tagRef).val();\r\n if (v) {\r\n this.toggleChatLabelHandler({\r\n label: v,\r\n value: v,\r\n type: 'Tag'\r\n });\r\n $(this.tagRef).val('');\r\n }\r\n } else {\r\n _.defer(() => $(this.tagRef).focus());\r\n }\r\n this.isCustomTag = !this.isCustomTag;\r\n }\r\n\r\n tagKeyupHandler() {\r\n this.toggleCustomTagHandler();\r\n }\r\n}\r\n","import { bindable, containerless, bindingMode } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatContentItem {\r\n\r\n @bindable({ defaultBindingMode: bindingMode.twoWay }) chats;\r\n @bindable loginUser;\r\n @bindable isAt;\r\n @bindable channel;\r\n @bindable markId;\r\n @bindable chatTo;\r\n members = [];\r\n basePath = utils.getBasePath();\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.subscribe = ea.subscribe(nsCons.EVENT_CHAT_CHANNEL_MEMBER_ADD_OR_REMOVE, (payload) => {\r\n this.members = [nsCtx.memberAll, ...payload.members];\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n $('.tms-chat-direct').on('click', '.markdown-body .at-user', (event) => {\r\n event.preventDefault();\r\n ea.publish(nsCons.EVENT_CHAT_MSG_INSERT, {\r\n content: `{~${$(event.currentTarget).attr('data-value')}} `\r\n });\r\n });\r\n\r\n // 消息popup\r\n $('.tms-chat-direct').on('mouseenter', '.markdown-body a[href*=\"#/chat/\"]:not(.pp-not)', (event) => {\r\n event.preventDefault();\r\n var $a = $(event.currentTarget);\r\n ea.publish(nsCons.EVENT_CHAT_MSG_POPUP_SHOW, {\r\n id: utils.urlQuery('id', $a.attr('href')),\r\n target: event.currentTarget\r\n });\r\n });\r\n\r\n // wiki dir\r\n $('.tms-chat-direct').on('mouseenter', '.tms-content-body .em-chat-content-item', (event) => {\r\n event.preventDefault();\r\n var $c = $(event.currentTarget);\r\n\r\n ea.publish(nsCons.EVENT_CHAT_MSG_WIKI_DIR, {\r\n dir: utils.dir($c.find('> .content > .markdown-body'))\r\n });\r\n });\r\n\r\n $('.tms-chat-direct').on('click', '.panel-wiki-dir .wiki-dir-item', (event) => {\r\n event.preventDefault();\r\n ea.publish(nsCons.EVENT_CHAT_CONTENT_SCROLL_TO, { target: $('#' + $(event.currentTarget).attr('data-id')) });\r\n });\r\n\r\n // 用户信息popup\r\n $('.tms-chat-direct').on('mouseenter', 'span[data-value].at-user:not(.pp-not),a[data-value].author:not(.pp-not)', (event) => {\r\n event.preventDefault();\r\n var $a = $(event.currentTarget);\r\n ea.publish(nsCons.EVENT_CHAT_MEMBER_POPUP_SHOW, {\r\n channel: this.channel,\r\n username: $a.attr('data-value'),\r\n target: event.currentTarget\r\n });\r\n });\r\n\r\n this.initHotkeys();\r\n }\r\n\r\n channelChanged() {\r\n\r\n if (this.channel) {\r\n this.members = [nsCtx.memberAll, ...this.channel.members];\r\n } else {\r\n this.members = [];\r\n }\r\n }\r\n\r\n deleteHandler(item) {\r\n\r\n this.emConfirmModal.show({\r\n onapprove: () => {\r\n\r\n let url;\r\n\r\n if (this.isAt) {\r\n url = `/admin/chat/direct/delete`;\r\n } else {\r\n url = `/admin/chat/channel/delete`;\r\n }\r\n\r\n $.post(url, {\r\n id: item.id\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this.chats = _.reject(this.chats, {\r\n id: item.id\r\n });\r\n toastr.success('删除消息成功!');\r\n } else {\r\n toastr.error(data.data, '删除消息失败!');\r\n }\r\n });\r\n }\r\n });\r\n\r\n }\r\n\r\n initHotkeys() {\r\n $(document).bind('keydown', 'e', (evt) => {\r\n evt.preventDefault();\r\n let chat = _.findLast(this.chats, c => c.creator.username == this.loginUser.username);\r\n if (chat) {\r\n this.editHandler(chat, $(`.em-chat-content-item[data-id=\"${chat.id}\"]`).find('> .content > textarea'));\r\n }\r\n });\r\n }\r\n\r\n editHandler(item, editTxtRef) {\r\n\r\n $.get(`/admin/chat/${this.isAt ? 'direct' : 'channel'}/get`, {\r\n id: item.id\r\n }, (data) => {\r\n if (data.success) {\r\n if (item.version != data.data.version) {\r\n _.extend(item, data.data);\r\n }\r\n item.isEditing = true;\r\n item.contentOld = item.content;\r\n _.defer(() => {\r\n $(editTxtRef).focus().select();\r\n autosize.update(editTxtRef);\r\n });\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n\r\n });\r\n }\r\n\r\n editOkHandler(evt, item, txtRef) {\r\n this.editSave(item, txtRef);\r\n item.isEditing = false;\r\n }\r\n\r\n editCancelHandler(evt, item, txtRef) {\r\n item.content = item.contentOld;\r\n $(txtRef).val(item.content);\r\n item.isEditing = false;\r\n }\r\n\r\n editSave(item, txtRef) {\r\n\r\n this.sending = true;\r\n\r\n item.content = $(txtRef).val();\r\n\r\n var html = utils.md2html(item.content);\r\n var htmlOld = utils.md2html(item.contentOld);\r\n\r\n let url;\r\n let data;\r\n\r\n if (this.isAt) {\r\n url = `/admin/chat/direct/update`;\r\n data = {\r\n baseUrl: utils.getBaseUrl(),\r\n path: wurl('path'),\r\n id: item.id,\r\n content: item.content,\r\n diff: utils.diffS(item.contentOld, item.content),\r\n // contentHtml: html,\r\n // contentHtmlOld: htmlOld\r\n };\r\n } else {\r\n url = `/admin/chat/channel/update`;\r\n data = {\r\n url: utils.getUrl(),\r\n id: item.id,\r\n version: item.version,\r\n usernames: utils.parseUsernames(item.content, this.members).join(','),\r\n content: item.content,\r\n diff: utils.diffS(item.contentOld, item.content),\r\n // contentHtml: html,\r\n // contentHtmlOld: htmlOld\r\n };\r\n }\r\n\r\n $.post(url, data, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('更新消息成功!');\r\n item.isEditing = false;\r\n item.version = data.data.version;\r\n } else {\r\n toastr.error(data.data, '更新消息失败!');\r\n }\r\n }).always(() => {\r\n this.sending = false;\r\n });\r\n }\r\n\r\n eidtKeydownHandler(evt, item, txtRef) {\r\n\r\n if (this.sending) {\r\n return false;\r\n }\r\n\r\n if (evt.ctrlKey && evt.keyCode === 13) {\r\n\r\n this.editSave(item, txtRef);\r\n\r\n return false;\r\n } else if (evt.ctrlKey && evt.keyCode === 85) {\r\n $(txtRef).next('.tms-edit-actions').find('.upload').click();\r\n return false;\r\n } else if (evt.keyCode === 27) {\r\n this.editCancelHandler(evt, item, txtRef);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n notifyRendered(last, item) {\r\n if (last) {\r\n _.defer(() => {\r\n ea.publish(nsCons.EVENT_CHAT_LAST_ITEM_RENDERED, {\r\n item: item\r\n });\r\n });\r\n }\r\n }\r\n\r\n stowHandler(item) {\r\n\r\n if (item.isStow) {\r\n this.unStowHandler(item);\r\n return;\r\n }\r\n\r\n $.post('/admin/chat/channel/stow', {\r\n id: item.id\r\n }, (data, textStatus, xhr) => {\r\n item.isStow = true;\r\n if (data.success) {\r\n item.stowId = data.data.id;\r\n toastr.success('收藏消息成功!');\r\n } else {\r\n item.stowId = (data.msgs && data.msgs.length > 0) ? data.msgs[0].id : '';\r\n // toastr.error(data.data, '收藏消息失败!');\r\n }\r\n });\r\n }\r\n\r\n unStowHandler(item) {\r\n if (!item.stowId) {\r\n return;\r\n }\r\n $.post('/admin/chat/channel/removeStow', {\r\n id: item.stowId\r\n }, (data, textStatus, xhr) => {\r\n item.isStow = false;\r\n item.stowId = '';\r\n if (data.success) {\r\n toastr.success('移除收藏消息成功!');\r\n } else {\r\n // toastr.error(data.data, '移除收藏消息失败!');\r\n }\r\n });\r\n }\r\n\r\n openEditHandler(item) {\r\n $.post('/admin/chat/channel/openEdit', {\r\n id: item.id,\r\n open: !item.openEdit\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n item.openEdit = !item.openEdit;\r\n toastr.success(`${item.openEdit ? '开启' : '关闭'}协作编辑成功!`);\r\n } else {\r\n toastr.success(`${!item.openEdit ? '开启' : '关闭'}协作编辑失败!`);\r\n }\r\n });\r\n }\r\n\r\n replyHandler(item) {\r\n ea.publish(nsCons.EVENT_CHAT_MSG_INSERT, {\r\n content: `[[回复#${item.id}](${utils.getUrl()}?id=${item.id}){~${item.creator.username}}]\\n\\n`\r\n });\r\n\r\n // 标记@自己的该消息为已读\r\n $.post('/admin/chat/channel/markAsReadedByChat', {\r\n chatId: item.id\r\n });\r\n }\r\n\r\n creatorNameHandler(item) {\r\n ea.publish(nsCons.EVENT_CHAT_MSG_INSERT, {\r\n content: `{~${item.creator.username}} `\r\n });\r\n }\r\n\r\n refreshHandler(item) {\r\n $.get('/admin/chat/channel/get', {\r\n id: item.id\r\n }, (data) => {\r\n if (item.version != data.data.version) {\r\n _.extend(item, data.data);\r\n toastr.success('刷新同步成功!');\r\n } else {\r\n toastr.info('消息内容暂无变更!');\r\n }\r\n });\r\n }\r\n\r\n likeHandler(item, isLike) {\r\n\r\n if ((isLike && item.isZanVoted) || (!isLike && item.isCaiVoted)) {\r\n return;\r\n }\r\n\r\n $.post('/admin/chat/channel/vote', {\r\n id: item.id,\r\n url: utils.getUrl(),\r\n contentHtml: utils.md2html(item.content),\r\n type: isLike ? 'Zan' : 'Cai'\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n _.extend(item, data.data);\r\n if (isLike) {\r\n item.isZanVoted = true;\r\n } else {\r\n item.isCaiVoted = true;\r\n }\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n pinHandler(item) {\r\n $.post('/admin/chat/channel/pin/toggle', {\r\n id: item.id,\r\n cid: this.channel.id\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success(`${data.code == 200 ? '固定频道消息成功!' : '解除固定频道消息成功!'}`);\r\n item.isPin = (data.code == 200);\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n}\r\n","import { bindable, containerless, inject } from 'aurelia-framework';\r\nimport 'textcomplete';\r\nimport tips from 'common/common-tips';\r\nimport emojis from 'common/common-emoji';\r\nimport {\r\n default as SimpleMDE\r\n} from 'simplemde';\r\n\r\n@containerless\r\nexport class EmChatInput {\r\n\r\n @bindable chatTo;\r\n @bindable isAt;\r\n @bindable channel;\r\n members = [];\r\n isMobile = utils.isMobile();\r\n\r\n channelChanged() {\r\n\r\n if (this.channel) {\r\n this.members = [nsCtx.memberAll, ...this.channel.members];\r\n } else {\r\n this.members = [];\r\n }\r\n\r\n }\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.subscribe = ea.subscribe(nsCons.EVENT_SHOW_HOTKEYS_MODAL, (payload) => {\r\n this.emHotkeysModal.show();\r\n });\r\n this.subscribe1 = ea.subscribe(nsCons.EVENT_CHAT_CHANNEL_MEMBER_ADD_OR_REMOVE, (payload) => {\r\n this.members = [nsCtx.memberAll, ...payload.members];\r\n });\r\n this.subscribe2 = ea.subscribe(nsCons.EVENT_CHAT_MSG_INSERT, (payload) => {\r\n this.insertContent(payload.content);\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n this.subscribe1.dispose();\r\n this.subscribe2.dispose();\r\n }\r\n\r\n initHotkeys() {\r\n $(document).bind('keydown', 'r', () => { // reply message\r\n event.preventDefault();\r\n this.simplemde.codemirror.focus();\r\n });\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n this.initSimpleMDE(this.chatInputRef);\r\n this.initDropzone();\r\n this.initPaste();\r\n this.initHotkeys();\r\n }\r\n\r\n initPaste() {\r\n\r\n let $paste;\r\n if (this.$chatMsgInputRef.is('textarea')) {\r\n $paste = $(this.$chatMsgInputRef).pastableTextarea();\r\n } else {\r\n $paste = $(this.$chatMsgInputRef).pastableContenteditable();\r\n }\r\n\r\n $paste && ($paste.on('pasteImage', (ev, data) => {\r\n\r\n $.post('/admin/file/base64', {\r\n dataURL: data.dataURL,\r\n type: data.blob.type,\r\n toType: nsCtx.isAt ? 'User' : 'Channel',\r\n toId: nsCtx.chatTo\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this.insertContent(''\r\n .replace(/\\{name\\}/g, data.data.name)\r\n .replace(/\\{baseURL\\}/g, utils.getBaseUrl() + '/')\r\n .replace(/\\{path\\}/g, data.data.path)\r\n .replace(/\\{uuidName\\}/g, data.data.uuidName));\r\n }\r\n });\r\n }).on('pasteImageError', (ev, data) => {\r\n toastr.error(data.message, '剪贴板粘贴图片错误!');\r\n }));\r\n }\r\n\r\n initDropzone() {\r\n this.initUploadDropzone($('.CodeMirror-wrap', this.inputRef), () => {\r\n return this.$chatMsgInputRef\r\n }, false);\r\n this.initUploadDropzone($(this.btnItemUploadRef).children().andSelf(), () => {\r\n return this.$chatMsgInputRef\r\n }, true);\r\n\r\n $(this.chatBtnRef).popup({\r\n inline: true,\r\n hoverable: true,\r\n position: 'bottom left',\r\n delay: {\r\n show: 300,\r\n hide: 300\r\n }\r\n });\r\n\r\n }\r\n\r\n initUploadDropzone(domRef, getInputTargetCb, clickable) {\r\n\r\n let _this = this;\r\n\r\n $(domRef).dropzone({\r\n url: \"/admin/file/upload\",\r\n paramName: 'file',\r\n clickable: !!clickable,\r\n dictDefaultMessage: '',\r\n maxFilesize: 10,\r\n addRemoveLinks: true,\r\n previewsContainer: this.chatStatusBarRef,\r\n previewTemplate: this.previewTemplateRef.innerHTML,\r\n dictCancelUpload: '取消上传',\r\n dictCancelUploadConfirmation: '确定要取消上传吗?',\r\n dictFileTooBig: '文件过大({{filesize}}M),最大限制:{{maxFilesize}}M',\r\n init: function() {\r\n this.on(\"sending\", function(file, xhr, formData) {\r\n if (!getInputTargetCb()) {\r\n this.removeAllFiles(true);\r\n } else {\r\n formData.append('toType', nsCtx.isAt ? 'User' : 'Channel');\r\n formData.append('toId', nsCtx.chatTo);\r\n }\r\n });\r\n this.on(\"success\", function(file, data) {\r\n if (data.success) {\r\n\r\n $.each(data.data, function(index, item) {\r\n if (item.type == 'Image') {\r\n _this.insertContent(' '\r\n .replace(/\\{name\\}/g, item.name)\r\n .replace(/\\{baseURL\\}/g, utils.getBaseUrl() + '/')\r\n .replace(/\\{path\\}/g, item.path)\r\n .replace(/\\{uuidName\\}/g, item.uuidName));\r\n } else {\r\n _this.insertContent('[{name}]({baseURL}{path}{uuidName}) '\r\n .replace(/\\{name\\}/g, item.name)\r\n .replace(/\\{baseURL\\}/g, utils.getBaseUrl() + '/')\r\n .replace(/\\{path\\}/g, \"admin/file/download/\")\r\n .replace(/\\{uuidName\\}/g, item.id));\r\n }\r\n });\r\n toastr.success('上传成功!');\r\n } else {\r\n toastr.error(data.data, '上传失败!');\r\n }\r\n\r\n });\r\n this.on(\"error\", function(file, errorMessage, xhr) {\r\n toastr.error(errorMessage, '上传失败!');\r\n });\r\n this.on(\"complete\", function(file) {\r\n this.removeFile(file);\r\n });\r\n }\r\n });\r\n }\r\n\r\n initSimpleMDE(textareaDom) {\r\n this.simplemde = new SimpleMDE({\r\n element: textareaDom,\r\n spellChecker: false,\r\n status: false,\r\n autofocus: true,\r\n toolbar: false,\r\n // forceSync: true,\r\n autoDownloadFontAwesome: false,\r\n insertTexts: {\r\n table: [\"\", \"\\n\\n| 列1 | 列2 | 列3 |\\n| ------ | ------ | ------ |\\n| 文本 | 文本 | 文本 |\\n\\n\"],\r\n },\r\n previewRender: (plainText, preview) => { // Async method\r\n return this.simplemde.markdown(utils.preParse(plainText));\r\n },\r\n });\r\n\r\n this.$chatMsgInputRef = $(this.inputRef).find('.textareaWrapper .CodeMirror textarea');\r\n if (this.$chatMsgInputRef.size() === 0) {\r\n this.$chatMsgInputRef = $(this.inputRef).find('.textareaWrapper .CodeMirror [contenteditable=\"true\"]');\r\n }\r\n\r\n this.initTextcomplete();\r\n }\r\n\r\n initTextcomplete() {\r\n\r\n $(this.$chatMsgInputRef).textcomplete([{ // chat msg help\r\n match: /(|\\b)(\\/.*)$/,\r\n search: (term, callback) => {\r\n var keys = _.keys(tips);\r\n callback($.map(keys, (key) => {\r\n return key.indexOf(term) === 0 ? key : null;\r\n }));\r\n },\r\n template: (value, term) => {\r\n return tips[value].label;\r\n },\r\n replace: (value) => {\r\n if (this.tipsActionHandler(value)) {\r\n this.setCaretPosition(tips[value].line, tips[value].ch);\r\n return `$1${tips[value].value}`;\r\n } else {\r\n return '';\r\n }\r\n }\r\n }, { // @user\r\n match: /(^|\\s)@(\\w*)$/,\r\n search: (term, callback) => {\r\n callback($.map(this.members, (member) => {\r\n return (member.enabled && member.username.indexOf(term) >= 0) ? member.username : null;\r\n }));\r\n },\r\n template: (value, term) => {\r\n let user = _.find(this.members, { username: value });\r\n return `${user.name} - ${user.mails} (${user.username})`;\r\n },\r\n replace: (value) => {\r\n return `$1{~${value}}`;\r\n }\r\n }, { // emoji\r\n match: /(^|\\s):([\\+\\-\\w]*)$/,\r\n search: function(term, callback) {\r\n callback($.map(emojis, (emoji) => {\r\n return _.some(emoji.split('_'), (item) => {\r\n return item.indexOf(term) === 0;\r\n }) ? emoji : null;\r\n }));\r\n },\r\n template: (value, term) => {\r\n if (value == 'search') {\r\n return `表情查找 - :search`;\r\n }\r\n let emojiKey = `:${value}:`;\r\n return `${emojify.replace(emojiKey)} - ${emojiKey}`;\r\n },\r\n replace: (value) => {\r\n if (this.tipsActionHandler(value)) {\r\n return '$1:' + value + ': ';\r\n } else {\r\n return '';\r\n }\r\n }\r\n }], {\r\n appendTo: '.tms-chat-status-bar',\r\n maxCount: nsCons.NUM_TEXT_COMPLETE_MAX_COUNT\r\n });\r\n\r\n this.simplemde.codemirror.on('keydown', (cm, e) => {\r\n if (_.includes([13, 38, 40], e.keyCode) && this.isTipsShow()) { // enter | up | down\r\n e.preventDefault();\r\n } else if (e.ctrlKey && e.keyCode === 13) {\r\n this.sendChatMsg();\r\n } else if (e.keyCode === 27) {\r\n this.simplemde.value('');\r\n } else if (e.ctrlKey && e.keyCode == 85) {\r\n $(this.btnItemUploadRef).find('.content').click();\r\n } else if (e.ctrlKey && e.keyCode == 191) {\r\n this.emHotkeysModal.show();\r\n }\r\n });\r\n }\r\n\r\n setCaretPosition(line, ch) {\r\n (line || ch) && (_.delay(() => {\r\n let cr = this.simplemde.codemirror.getCursor();\r\n this.simplemde.codemirror.setCursor({\r\n line: cr.line - (line ? line : 0),\r\n ch: cr.line ? (ch ? ch : 0) : (cr.ch - (ch ? ch : 0))\r\n });\r\n }, 100));\r\n }\r\n\r\n sendChatMsg() {\r\n\r\n let content = this.simplemde.value();\r\n\r\n if (!$.trim(content)) {\r\n this.simplemde.value('');\r\n return;\r\n }\r\n\r\n if (this.sending) {\r\n return;\r\n }\r\n\r\n this.sending = true;\r\n\r\n var html = utils.md2html(content);\r\n\r\n let url;\r\n let data;\r\n if (this.isAt) {\r\n url = `/admin/chat/direct/create`;\r\n data = {\r\n baseUrl: utils.getBaseUrl(),\r\n path: wurl('path'),\r\n chatTo: this.chatTo,\r\n content: content,\r\n contentHtml: html\r\n };\r\n } else {\r\n url = `/admin/chat/channel/create`;\r\n data = {\r\n url: utils.getUrl(),\r\n channelId: this.channel.id,\r\n usernames: utils.parseUsernames(content, this.members).join(','),\r\n content: content,\r\n contentHtml: html\r\n };\r\n }\r\n $.post(url, data, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this.simplemde.value('');\r\n ea.publish(nsCons.EVENT_CHAT_MSG_SENDED, {\r\n data: data\r\n });\r\n } else {\r\n toastr.error(data.data, '发送消息失败!');\r\n }\r\n }).always(() => {\r\n this.sending = false;\r\n });\r\n }\r\n\r\n sendChatMsgHandler() {\r\n this.sendChatMsg();\r\n }\r\n\r\n isTipsShow() {\r\n return $(this.chatStatusBarRef).find('.textcomplete-dropdown:visible').size() === 1;\r\n }\r\n\r\n /**\r\n * 编辑器插入自定义沟通内容\r\n * @param {[type]} cm [description]\r\n * @param {[type]} comment [description]\r\n * @return {[type]} [description]\r\n */\r\n insertContent(content, mde) {\r\n try {\r\n let cm = mde ? mde.codemirror : this.simplemde.codemirror;\r\n var cursor = cm.getCursor();\r\n if (cursor) {\r\n cm.replaceRange(content, cursor, cursor);\r\n cm.focus();\r\n }\r\n } catch (err) { console.log(err); }\r\n }\r\n\r\n tipsActionHandler(value) {\r\n if (value == '/upload') {\r\n $(this.btnItemUploadRef).find('.content').click();\r\n } else if (value == '/shortcuts') {\r\n this.emHotkeysModal.show();\r\n } else if (value == 'search') {\r\n _.delay(() => { utils.openNewWin(nsCons.STR_EMOJI_SEARCH_URL); }, 200);\r\n } else {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n togglePreviewHandler() {\r\n this.simplemde.togglePreview();\r\n }\r\n\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatMemberPopup {\r\n\r\n members = [];\r\n member = {};\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.subscribe = ea.subscribe(nsCons.EVENT_CHAT_MEMBER_POPUP_SHOW, (payload) => {\r\n this.channel = payload.channel;\r\n this.username = payload.username;\r\n this.target = payload.target;\r\n if (this.username == 'all') {\r\n if (!this.channel) {\r\n return;\r\n }\r\n this.members = this.channel.members;\r\n } else {\r\n this.member = utils.getUser(this.username);\r\n let user = utils.getUser(this.member.creator);\r\n this.member.creatorName = (user && (!!user.name)) ? user.name : this.member.creator;\r\n }\r\n _.defer(() => {\r\n\r\n $(this.target).popup({\r\n popup: this.popup,\r\n hoverable: true,\r\n inline: false,\r\n silent: true,\r\n movePopup: false,\r\n position: 'bottom left',\r\n jitter: 300,\r\n prefer: 'opposite',\r\n // boundary: '.tms-content',\r\n // context: '.tms-content',\r\n // maxSearchDepth: 50,\r\n delay: {\r\n show: 300,\r\n hide: 300\r\n }\r\n }).popup('show');\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatMsgPopup {\r\n\r\n chatMsg;\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.subscribe = ea.subscribe(nsCons.EVENT_CHAT_MSG_POPUP_SHOW, (payload) => {\r\n this.id = payload.id;\r\n this.target = payload.target;\r\n\r\n if (!this.id) {\r\n return;\r\n }\r\n\r\n $(this.target).popup({\r\n popup: this.popup,\r\n hoverable: true,\r\n inline: false,\r\n movePopup: false,\r\n // position: 'top left',\r\n // maxSearchDepth: 50,\r\n silent: true,\r\n position: 'bottom left',\r\n jitter: 300,\r\n prefer: 'opposite',\r\n delay: {\r\n show: 300,\r\n hide: 300\r\n },\r\n onShow: () => {\r\n $.get('/admin/chat/channel/get', {\r\n id: this.id\r\n }, (data) => {\r\n if (data.success) {\r\n this.chatMsg = data.data;\r\n } else {\r\n toastr.error(data.data, \"加载失败!\");\r\n }\r\n });\r\n }\r\n }).popup('show');\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\n\n@containerless\nexport class EmChatMsg {\n\n last = true;\n @bindable loginUser;\n @bindable isAt;\n @bindable channel;\n\n @bindable chats;\n @bindable actived;\n\n basePath = utils.getBasePath();\n\n /**\n * 当视图被附加到DOM中时被调用\n */\n attached() {\n this.initHotkeys();\n }\n\n initHotkeys() {\n $(document).bind('keydown', 'o', (event) => {\n event.preventDefault();\n let item = _.find(this.chats, { isHover: true });\n item && (item.isOpen = !item.isOpen);\n });\n\n }\n\n activedChanged() {\n if (!this.actived) {\n return;\n }\n\n let payload = this.actived.payload;\n let result = payload.result;\n\n if (this.actived.payload.action == nsCons.ACTION_TYPE_AT) {\n this.page = result;\n this.chats = _.map(result.content, (item) => {\n let chatChannel = item.chatChannel;\n chatChannel.chatAt = item;\n return chatChannel;\n });\n this.last = result.last;\n this.moreCnt = result.totalElements - (result.number + 1) * result.size;\n } else if (this.actived.payload.action == nsCons.ACTION_TYPE_STOW) {\n this.chats = payload.result;\n this.last = true;\n } else if (this.actived.payload.action == nsCons.ACTION_TYPE_PIN) {\n this.chats = payload.result;\n this.last = true;\n } else if (this.actived.payload.action == nsCons.ACTION_TYPE_SEARCH) {\n this.search = payload.search;\n this.page = result;\n this.chats = result.content;\n this.last = result.last;\n this.moreCnt = result.totalElements - (result.number + 1) * result.size;\n }\n }\n\n searchItemMouseleaveHandler(item) {\n item.isOpen = false;\n item.isHover = false;\n }\n\n searchItemMouseenterHandler(item) {\n item.isHover = true;\n }\n\n gotoChatHandler(item) {\n ea.publish(nsCons.EVENT_CHAT_SEARCH_GOTO_CHAT_ITEM, { chatItem: item });\n }\n\n openSearchItemHandler(item) {\n item.isOpen = !item.isOpen;\n }\n\n searchMoreHandler() {\n\n if (this.actived.payload.action == nsCons.ACTION_TYPE_SEARCH) {\n this.searchMoreP = $.get('/admin/chat/direct/search', {\n search: this.search,\n size: this.page.size,\n page: this.page.number + 1\n }, (data) => {\n if (data.success) {\n this.chats = _.concat(this.chats, data.data.content);\n\n this.page = data.data;\n this.last = data.data.last;\n this.moreCnt = data.data.totalElements - (data.data.number + 1) * data.data.size;\n }\n });\n } else {\n this.searchMoreP = $.get('/admin/chat/channel/getAts', {\n size: this.page.size,\n page: this.page.number + 1\n }, (data) => {\n if (data.success) {\n this.chats = _.concat(this.chats, _.map(data.data.content, (item) => {\n let chatChannel = item.chatChannel;\n chatChannel.chatAt = item;\n return chatChannel;\n }));\n\n this.page = data.data;\n this.last = data.data.last;\n this.moreCnt = data.data.totalElements - (data.data.number + 1) * data.data.size;\n }\n });\n }\n }\n\n removePinHandler(item) {\n $.post('/admin/chat/channel/pin/toggle', {\n id: item.id,\n cid: this.channel.id\n }, (data, textStatus, xhr) => {\n if (data.success) {\n this.chats = _.reject(this.chats, {\n id: item.id\n });\n toastr.success('移除固定消息成功!');\n } else {\n toastr.error(data.data, '移除固定消息失败!');\n }\n });\n }\n\n removeStowHandler(item) {\n $.post('/admin/chat/channel/removeStow', {\n id: item.chatStow.id\n }, (data, textStatus, xhr) => {\n if (data.success) {\n this.chats = _.reject(this.chats, {\n id: item.id\n });\n toastr.success('移除收藏消息成功!');\n } else {\n toastr.error(data.data, '移除收藏消息失败!');\n }\n });\n }\n\n removeAtHandler(item) {\n $.post('/admin/chat/channel/markAsReaded', {\n chatAtId: item.chatAt.id\n }, (data, textStatus, xhr) => {\n if (data.success) {\n this.chats = _.reject(this.chats, {\n id: item.id\n });\n } else {\n toastr.error(data.data, '移除@消息失败!');\n }\n });\n }\n}\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatScheduleEdit {\r\n\r\n @bindable loginUser;\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.actorsOpts = {\r\n onAdd: (addedValue, addedText, $addedChoice) => {\r\n $.post('/admin/schedule/addActors', {\r\n id: this.event.id,\r\n basePath: utils.getBasePath(),\r\n actors: addedValue\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('添加参与者成功!');\r\n ea.publish(nsCons.EVENT_SCHEDULE_REFRESH, {});\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n },\r\n onLabelRemove: (removedValue) => {\r\n if (this.loginUser.username == removedValue) {\r\n return false;\r\n }\r\n $.post('/admin/schedule/removeActors', {\r\n id: this.event.id,\r\n basePath: utils.getBasePath(),\r\n actors: removedValue\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('移除参与者成功!');\r\n ea.publish(nsCons.EVENT_SCHEDULE_REFRESH, {});\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n };\r\n }\r\n\r\n attached() {\r\n $(this.startRef).calendar({\r\n today: true,\r\n endCalendar: $(this.endRef)\r\n });\r\n $(this.endRef).calendar({\r\n today: true,\r\n startCalendar: $(this.startRef)\r\n });\r\n\r\n }\r\n\r\n initMembersUI(last) {\r\n if (last) {\r\n _.defer(() => {\r\n let actors = [this.loginUser.username];\r\n if (this.event) {\r\n actors = _.map(this.event.actors, 'username');\r\n }\r\n\r\n $(this.actorsRef).dropdown().dropdown('clear').dropdown('set selected', actors).dropdown(this.actorsOpts);\r\n });\r\n }\r\n }\r\n\r\n titleKeyupHandler(event) {\r\n if (event.ctrlKey && event.keyCode === 13) {\r\n this.updateHandler();\r\n }\r\n }\r\n\r\n clearStartDateHandler() {\r\n $(this.startRef).calendar('clear');\r\n }\r\n\r\n clearEndDateHandler() {\r\n $(this.endRef).calendar('clear');\r\n }\r\n\r\n show(calEvent) {\r\n this.event = _.clone(calEvent);\r\n\r\n this.showHandler();\r\n\r\n $(this.scheduleEditRef).popup({\r\n on: 'click',\r\n // closable: true,\r\n inline: true,\r\n silent: true,\r\n // movePopup: false,\r\n position: 'bottom center',\r\n jitter: 300,\r\n prefer: 'opposite',\r\n delay: {\r\n show: 300,\r\n hide: 300\r\n }\r\n }).popup('show');\r\n }\r\n\r\n showHandler() {\r\n\r\n this.users = window.tmsUsers;\r\n $(this.actorsRef).dropdown().dropdown('clear');\r\n _.defer(() => {\r\n if (this.event.start) {\r\n $(this.startRef).calendar('set date', this.event.start.toDate());\r\n } else {\r\n $(this.startRef).calendar('clear');\r\n }\r\n\r\n if (this.event.end) {\r\n $(this.endRef).calendar('set date', this.event.end.toDate());\r\n } else {\r\n $(this.endRef).calendar('clear');\r\n }\r\n\r\n let actors = _.map(this.event.actors, 'username');\r\n\r\n $(this.actorsRef).dropdown('set selected', actors).dropdown(this.actorsOpts);\r\n\r\n if (this.event.creator.username == this.loginUser.username) {\r\n $(this.titleRef).focus();\r\n }\r\n\r\n autosize.update(this.titleRef);\r\n });\r\n\r\n }\r\n\r\n updateHandler() {\r\n if (!this.event.title) {\r\n toastr.error('日程内容不能为空!');\r\n return;\r\n }\r\n\r\n let data = {\r\n id: this.event.id,\r\n basePath: utils.getBasePath(),\r\n title: this.event.title\r\n };\r\n let start = $(this.startRef).calendar('get date');\r\n let end = $(this.endRef).calendar('get date');\r\n\r\n if (start) {\r\n data.startDate = start;\r\n } else {\r\n data.startDate = new Date();\r\n }\r\n\r\n if (end) {\r\n data.endDate = end;\r\n }\r\n\r\n $.post('/admin/schedule/update2', data, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('更新日程成功!');\r\n $(this.scheduleEditRef).popup('hide');\r\n ea.publish(nsCons.EVENT_SCHEDULE_REFRESH, {});\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n delHandler() {\r\n this.emConfirmModal.show({\r\n onapprove: () => {\r\n\r\n $.post('/admin/schedule/delete', {\r\n id: this.event.id,\r\n basePath: utils.getBasePath()\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('日程删除成功!');\r\n ea.publish(nsCons.EVENT_SCHEDULE_REFRESH, {});\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n\r\n }\r\n });\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatScheduleRemind {\r\n\r\n @bindable events;\r\n\r\n interval = 5000;\r\n\r\n headOffset = 10 * 60 * 1000;\r\n\r\n reminded = [];\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this._pollCheck();\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.timer && clearInterval(this.timer);\r\n }\r\n\r\n _pollCheck() {\r\n this.timer = setInterval(() => {\r\n\r\n if (!this.events) {\r\n return;\r\n }\r\n\r\n let now = new Date().getTime();\r\n _.each(this.events, (event) => {\r\n if (event.start && !_.includes(this.reminded, event.id)) {\r\n let start = event.start;\r\n if (start > now && start < (now + this.headOffset)) {\r\n this.event = event;\r\n this.reminded.push(event.id);\r\n this._desktopPuh();\r\n this.show();\r\n }\r\n }\r\n });\r\n\r\n }, this.interval);\r\n }\r\n\r\n _desktopPuh() {\r\n push.create('TMS日程提醒通知', {\r\n body: `内容: ${this.event.title}`,\r\n icon: {\r\n x16: 'img/tms-x16.ico',\r\n x32: 'img/tms-x32.png'\r\n },\r\n timeout: 5000\r\n });\r\n }\r\n\r\n showHandler() {\r\n\r\n }\r\n\r\n approveHandler() {\r\n\r\n }\r\n\r\n show() {\r\n this.emModal.show({\r\n hideOnApprove: true,\r\n autoDimmer: false\r\n });\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\nimport {\r\n default as moment\r\n} from 'moment';\r\nimport 'fullcalendar';\r\nimport 'fullcalendar/dist/locale/zh-cn';\r\n\r\n@containerless\r\nexport class EmChatSchedule {\r\n\r\n @bindable loginUser;\r\n\r\n offset = 100;\r\n\r\n show() {\r\n this.users = window.tmsUsers;\r\n\r\n _.defer(() => {\r\n $(this.scheduleRef).fullCalendar('today');\r\n });\r\n _.delay(() => {\r\n $(this.scheduleRef).fullCalendar('option', 'height', 'parent');\r\n $(this.scheduleRef).fullCalendar('refetchEvents');\r\n }, 500);\r\n }\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.actorsOpts = {\r\n onAdd: (addedValue, addedText, $addedChoice) => {},\r\n onLabelRemove: (removedValue) => {\r\n if (this.loginUser.username == removedValue) {\r\n return false;\r\n }\r\n }\r\n };\r\n\r\n this.subscribe = ea.subscribe(nsCons.EVENT_SCHEDULE_REFRESH, (payload) => {\r\n $(this.scheduleRef).fullCalendar('refetchEvents');\r\n });\r\n\r\n this._getEvents();\r\n }\r\n\r\n _getEvents(start, end, callback) {\r\n let data = {};\r\n if (start) {\r\n data.start = start.unix();\r\n }\r\n if (end) {\r\n data.start = end.unix();\r\n }\r\n $.get('/admin/schedule/listMy', data, (data) => {\r\n if (data.success) {\r\n this.events = _.map(data.data, (item) => {\r\n let event = {\r\n id: item.id,\r\n title: item.title,\r\n actors: item.actors,\r\n creator: item.creator\r\n };\r\n\r\n if (item.startDate) {\r\n event.start = item.startDate;\r\n } else {\r\n event.start = new Date().getTime();\r\n }\r\n\r\n if (item.endDate) {\r\n event.end = item.endDate;\r\n }\r\n\r\n return event;\r\n });\r\n callback && callback(this.events);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n }\r\n\r\n attached() {\r\n\r\n $(this.scheduleRef).fullCalendar({\r\n header: {\r\n left: 'prev,next today',\r\n // center: '',\r\n center: 'title',\r\n right: 'month,agendaWeek,agendaDay,listWeek'\r\n },\r\n // height: $(window).height() - this.offset,\r\n height: 'parent',\r\n defaultDate: new Date(),\r\n defaultView: 'listWeek',\r\n editable: true,\r\n eventLimit: true, // allow \"more\" link when too many events\r\n navLinks: true,\r\n // timezone: 'Asia/Shanghai',\r\n // timezone: 'UTC',\r\n timezone: 'local',\r\n dayClick: (date, jsEvent, view) => {\r\n\r\n $(this.startRef).calendar('set date', date.toDate());\r\n this.isPopupShowForDayClick = true;\r\n $(this.addRef).popup('show');\r\n },\r\n eventClick: (calEvent, jsEvent, view) => {\r\n this.scheduleEditVm.show(calEvent);\r\n },\r\n eventMouseover: (event, jsEvent, view) => {},\r\n eventMouseout: (event, jsEvent, view) => {},\r\n events: (start, end, timezone, callback) => {\r\n\r\n this._getEvents(start, end, callback);\r\n },\r\n eventDrop: (event, delta, revertFunc) => {\r\n\r\n if (event.creator.username != this.loginUser.username) {\r\n toastr.error('您没有权限修改!');\r\n ea.publish(nsCons.EVENT_SCHEDULE_REFRESH, {});\r\n return;\r\n }\r\n\r\n this._updateDate(event.id, event.start, event.end);\r\n },\r\n eventResize: (event, delta, revertFunc) => {\r\n\r\n if (event.creator.username != this.loginUser.username) {\r\n toastr.error('您没有权限修改!');\r\n ea.publish(nsCons.EVENT_SCHEDULE_REFRESH, {});\r\n return;\r\n }\r\n\r\n this._updateDate(event.id, event.start, event.end);\r\n }\r\n });\r\n\r\n $(this.addRef)\r\n .popup({\r\n on: 'click',\r\n // closable: false,\r\n inline: true,\r\n // hoverable: true,\r\n silent: true,\r\n // movePopup: false,\r\n jitter: 300,\r\n position: 'bottom center',\r\n delay: {\r\n show: 300,\r\n hide: 300\r\n },\r\n onVisible: () => {\r\n $(this.titleRef).focus();\r\n autosize.update(this.titleRef);\r\n if (!this.title && !this.isPopupShowForDayClick) {\r\n $(this.startRef).calendar('set date', new Date());\r\n }\r\n this.isPopupShowForDayClick = false;\r\n }\r\n });\r\n\r\n $(this.startRef).calendar({\r\n today: true,\r\n endCalendar: $(this.endRef)\r\n });\r\n $(this.endRef).calendar({\r\n today: true,\r\n startCalendar: $(this.startRef)\r\n });\r\n\r\n this._reset();\r\n }\r\n\r\n titleKeyupHandler(event) {\r\n if (event.ctrlKey && event.keyCode === 13) {\r\n this.addHandler();\r\n }\r\n }\r\n\r\n _updateDate(id, start, end) {\r\n let data = {\r\n id: id,\r\n basePath: utils.getBasePath()\r\n };\r\n\r\n if (start) {\r\n data.startDate = start.toDate();\r\n } else {\r\n data.startDate = new Date();\r\n }\r\n\r\n if (end) {\r\n data.endDate = end.toDate();\r\n }\r\n\r\n $.post('/admin/schedule/updateStartEndDate', data, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n toastr.success('更新日程成功!');\r\n ea.publish(nsCons.EVENT_SCHEDULE_REFRESH, {});\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n initMembersUI(last) {\r\n if (last) {\r\n _.defer(() => {\r\n $(this.actorsRef).dropdown().dropdown('clear').dropdown(this.actorsOpts).dropdown('set selected', [this.loginUser.username]);\r\n });\r\n }\r\n }\r\n\r\n clearStartDateHandler() {\r\n $(this.startRef).calendar('clear');\r\n }\r\n\r\n clearEndDateHandler() {\r\n $(this.endRef).calendar('clear');\r\n }\r\n\r\n addHandler() {\r\n\r\n if (!this.title) {\r\n toastr.error('日程内容不能为空!');\r\n return;\r\n }\r\n\r\n let data = {\r\n title: this.title,\r\n basePath: utils.getBasePath(),\r\n actors: $(this.actorsRef).dropdown('get value')\r\n };\r\n\r\n let start = $(this.startRef).calendar('get date');\r\n let end = $(this.endRef).calendar('get date');\r\n\r\n if (start) {\r\n data.startDate = start;\r\n } else {\r\n data.startDate = new Date();\r\n }\r\n\r\n if (end) {\r\n data.endDate = end;\r\n }\r\n\r\n $.post('/admin/schedule/create', data, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n $(this.scheduleRef).fullCalendar('refetchEvents');\r\n toastr.success('添加日程成功!');\r\n this._reset();\r\n $(this.addRef).popup('hide');\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n _reset() {\r\n this.title = '';\r\n $(this.startRef).calendar('set date', new Date());\r\n $(this.endRef).calendar('clear');\r\n $(this.actorsRef).dropdown('clear');\r\n if (this.loginUser && this.loginUser.username) {\r\n $(this.actorsRef).dropdown('set selected', [this.loginUser.username]).dropdown('set value', this.loginUser.username);\r\n }\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\n\n@containerless\nexport class EmChatShare {\n\n shares = [];\n desc = '';\n\n @bindable chat;\n @bindable channel;\n @bindable loginUser;\n @bindable isAt;\n\n basePath = utils.getBasePath();\n\n /**\n * 当视图被附加到DOM中时被调用\n */\n attached() {\n $(this.searchRef)\n .search({\n minCharacters: 2,\n cache: false,\n selectFirstResult: true,\n showNoResults: false,\n onSelect: (result, response) => {\n result.item._id = _.uniqueId('share-item-');\n result.item._type = result.item.username ? 'user' : 'channel';\n this.shares.push(result.item);\n _.defer(() => { $(this.inputSearchRef).val(''); });\n },\n apiSettings: {\n onResponse: (resp) => {\n var response = {\n results: []\n };\n $.each(resp.data.users, (index, item) => {\n if (!_.find(_.filter(this.shares, c => c._type == 'user'), { username: item.username })) {\n response.results.push({\n item: item,\n title: ` ${item.name} (${item.username})`,\n });\n }\n });\n $.each(resp.data.channels, (index, item) => {\n if (!_.find(_.filter(this.shares, c => c._type == 'channel'), { name: item.name })) {\n response.results.push({\n item: item,\n title: ` ${item.title} (${item.name})`,\n });\n }\n });\n return response;\n },\n url: '/admin/blog/share/to/search?search={query}'\n }\n });\n $(this.shareRef).popup({\n on: 'click',\n inline: true,\n silent: true,\n position: 'bottom right',\n jitter: 300,\n delay: {\n show: 300,\n hide: 300\n },\n onVisible: () => {\n $(this.inputSearchRef).focus();\n }\n });\n }\n\n shareSearchKeyupHandler(event) {\n if (event.keyCode === 13 && !$(this.searchRef).search('is visible')) {\n let val = $(this.inputSearchRef).val();\n if (utils.isMail(val)) {\n if (!_.find(_.filter(this.shares, c => c._type == 'mail'), { mail: val })) {\n this.shares.push({\n _id: _.uniqueId('share-item-'),\n _type: 'mail',\n mail: val\n });\n $(this.inputSearchRef).val('');\n }\n }\n }\n }\n\n show() {\n $(this.shareRef).popup('show');\n }\n\n removeShareHandler(item) {\n this.shares = _.reject(this.shares, { _id: item._id });\n }\n\n cancelHandler() {\n this._reset();\n }\n\n _reset() {\n this.shares = [];\n this.desc = '';\n $(this.inputSearchRef).val('');\n $(this.shareRef).popup('hide');\n }\n\n shareHandler() {\n\n if (this.shares.length === 0) {\n toastr.error('请先指定沟通消息分享用户或者频道或者邮箱!');\n return;\n }\n\n this.ajaxS = $.post(`/admin/chat/${this.isAt ? 'direct' : 'channel'}/share`, {\n basePath: utils.getBasePath(),\n href: `${this.basePath}#/chat/${this.isAt ? ('@' + this.loginUser.username) : this.channel.name}?id=${this.chat.id}`,\n id: this.chat.id,\n desc: this.desc,\n html: utils.md2html(this.chat.content),\n users: _.chain(this.shares).filter(item => item._type == 'user').map('username').join().value(),\n channels: _.chain(this.shares).filter(item => item._type == 'channel').map('name').join().value(),\n mails: _.chain(this.shares).filter(item => item._type == 'mail').map('mail').join().value()\n }, (data, textStatus, xhr) => {\n if (data.success) {\n this._reset();\n toastr.success('沟通消息分享成功!');\n } else {\n toastr.error(data.data, '沟通消息分享失败!');\n }\n });\n }\n}\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatSidebarLeft {\r\n\r\n @bindable users;\r\n @bindable loginUser;\r\n @bindable channels;\r\n @bindable chatTo;\r\n @bindable isAt;\r\n filter = '';\r\n isSuper = nsCtx.isSuper;\r\n\r\n usersChanged() {\r\n this._filter();\r\n }\r\n\r\n channelsChanged() {\r\n this._filter();\r\n }\r\n\r\n loginUserChanged() {\r\n if (this.loginUser) {\r\n this.isSuper = utils.isSuperUser(this.loginUser);\r\n }\r\n }\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.subscribe = ea.subscribe(nsCons.EVENT_CHANNEL_ACTIONS, (payload) => {\r\n this[payload.action](payload.item);\r\n });\r\n this.subscribe1 = ea.subscribe(nsCons.EVENT_SYSTEM_LINKS_REFRESH, (payload) => {\r\n this._refreshSysLinks();\r\n });\r\n }\r\n\r\n _refreshSysLinks() {\r\n $.get('/admin/link/listByApp', (data) => {\r\n if (data.success) {\r\n this.sysLinks = data.data;\r\n } else {\r\n this.sysLinks = [];\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n this.subscribe1.dispose();\r\n }\r\n\r\n bind(bindingCtx, overrideCtx) {\r\n this._refreshSysLinks();\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n $(this.logoRef).on('mouseenter', (event) => {\r\n $(this.logoRef).animateCss('flip');\r\n });\r\n }\r\n\r\n _filter() {\r\n\r\n _.each(this.users, (item) => {\r\n item.hidden = item.username.indexOf(this.filter) == -1;\r\n });\r\n\r\n _.each(this.channels, (item) => {\r\n item.hidden = item.name.indexOf(this.filter) == -1;\r\n });\r\n }\r\n\r\n chatToUserFilerKeyupHanlder(evt) {\r\n this._filter();\r\n\r\n if (evt.keyCode === 13) {\r\n let user = _.find(this.users, {\r\n hidden: false\r\n });\r\n\r\n if (user) {\r\n window.location = wurl('path') + `#/chat/@${user.username}`;\r\n return;\r\n }\r\n\r\n let channel = _.find(this.channels, {\r\n hidden: false\r\n });\r\n\r\n if (channel) {\r\n window.location = wurl('path') + `#/chat/${channel.name}`;\r\n return;\r\n }\r\n }\r\n }\r\n\r\n clearFilterHandler() {\r\n this.filter = '';\r\n _.each(this.users, (item) => {\r\n item.hidden = item.username.indexOf(this.filter) == -1;\r\n });\r\n _.each(this.channels, (item) => {\r\n item.hidden = item.name.indexOf(this.filter) == -1;\r\n });\r\n }\r\n\r\n editHandler(item) {\r\n this.selectedChannel = item;\r\n this.channelEditMd.show();\r\n }\r\n\r\n delHandler(item) {\r\n this.confirmMd.show({\r\n onapprove: () => {\r\n $.post('/admin/channel/delete', {\r\n id: item.id\r\n }, (data) => {\r\n if (data.success) {\r\n toastr.success('删除频道成功!');\r\n _.remove(this.channels, { id: item.id });\r\n ea.publish(nsCons.EVENT_CHAT_CHANNEL_DELETED, { channel: item });\r\n } else {\r\n toastr.error(data.data, '删除频道失败!');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n membersMgrHandler(item) {\r\n this.selectedChannel = item;\r\n this.channelMembersMgrMd.show();\r\n }\r\n\r\n membersShowHandler(item) {\r\n this.selectedChannel = item;\r\n this.channelMembersShowMd.show();\r\n }\r\n\r\n leaveHandler(item) {\r\n this.confirmMd.show({\r\n content: `确定要离开频道${item.title}
吗?`,\r\n onapprove: () => {\r\n $.post('/admin/channel/leave', {\r\n id: item.id\r\n }, (data) => {\r\n if (data.success) {\r\n toastr.success('离开频道成功!');\r\n ea.publish(nsCons.EVENT_CHAT_CHANNEL_LEAVED, { channel: data.data });\r\n } else {\r\n toastr.error(data.data, '离开频道失败!');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n switchHandler() {\r\n ea.publish(nsCons.EVENT_SWITCH_CHAT_TO, {});\r\n }\r\n\r\n addChannelLinkHandler(event) {\r\n this.sysLinkMgrVm.show();\r\n }\r\n\r\n isSubscribed(item) {\r\n return _.some(item.subscriber, { username: this.loginUser.username });\r\n }\r\n\r\n subscribeHandler(item) {\r\n\r\n let isSub = this.isSubscribed(item);\r\n\r\n $.post(`/admin/channel/${isSub ? 'unsubscribe' : 'subscribe'}`, {\r\n id: item.id\r\n }, (data) => {\r\n if (data.success) {\r\n item.subscriber = data.data.subscriber;\r\n toastr.success(`${isSub ? '取消订阅' : '订阅频道'}成功!`);\r\n item.isSubscribed = !isSub;\r\n } else {\r\n toastr.error(data.data, `${isSub ? '取消订阅' : '订阅频道'}失败!`);\r\n }\r\n });\r\n }\r\n\r\n sysLinkHandler(item) {\r\n $.post('/admin/link/count/inc', { id: item.id });\r\n return true;\r\n }\r\n\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatSidebarRight {\r\n\r\n @bindable loginUser;\r\n @bindable isAt;\r\n @bindable channel;\r\n\r\n actionMapping = {\r\n [nsCons.ACTION_TYPE_DIR]: { handler: this.dirHandler, nodata: '', show: 'dir' },\r\n [nsCons.ACTION_TYPE_AT]: { nodata: '暂无@消息', show: 'msg' },\r\n [nsCons.ACTION_TYPE_STOW]: { nodata: '暂无收藏消息', show: 'msg' },\r\n [nsCons.ACTION_TYPE_ATTACH]: { handler: this.attachHandler, nodata: '', show: 'attach' },\r\n [nsCons.ACTION_TYPE_SCHEDULE]: { handler: this.scheduleHandler, nodata: '', show: 'schedule' },\r\n [nsCons.ACTION_TYPE_SEARCH]: { nodata: '无符合检索结果', show: 'msg' },\r\n [nsCons.ACTION_TYPE_PIN]: { nodata: '暂无频道固定消息', show: 'msg' },\r\n }\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n\r\n this.subscribe = ea.subscribe(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, (payload) => {\r\n this.actived = _.clone(this.actionMapping[payload.action]);\r\n this.actived.payload = payload;\r\n if (this.actived.handler) {\r\n _.bind(this.actived.handler, this, payload)();\r\n }\r\n });\r\n\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n }\r\n\r\n attachHandler(payload) {\r\n this.chatAttachVm.fetch();\r\n }\r\n\r\n dirHandler(payload) {\r\n $(this.dirRef).empty().append(payload.result);\r\n }\r\n\r\n scheduleHandler(payload) {\r\n this.chatScheduleVm.show();\r\n }\r\n\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatSystemLinkMgr {\r\n\r\n links = [];\r\n\r\n addHandler() {\r\n $.post('/admin/link/create', {\r\n title: this.title,\r\n href: this.href,\r\n type: 'App'\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this.title = '';\r\n this.href = '';\r\n this.links.push(data.data);\r\n ea.publish(nsCons.EVENT_SYSTEM_LINKS_REFRESH, {});\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n delHandler(item) {\r\n $.post('/admin/link/delete', {\r\n id: item.id\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n this.links = _.reject(this.links, { id: item.id });\r\n ea.publish(nsCons.EVENT_SYSTEM_LINKS_REFRESH, {});\r\n toastr.success('删除成功!');\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n editHandler(item) {\r\n item.oldTitle = item.title;\r\n item.oldHref = item.href;\r\n item.isEditing = true;\r\n }\r\n\r\n updateHandler(item) {\r\n $.post('/admin/link/update', {\r\n id: item.id,\r\n title: item.title,\r\n href: item.href,\r\n }, (data, textStatus, xhr) => {\r\n if (data.success) {\r\n item.isEditing = false;\r\n ea.publish(nsCons.EVENT_SYSTEM_LINKS_REFRESH, {});\r\n toastr.success('更新成功!');\r\n } else {\r\n toastr.error(data.data);\r\n }\r\n });\r\n }\r\n\r\n showHandler() {\r\n $.get('/admin/link/listByApp', (data) => {\r\n if (data.success) {\r\n this.links = data.data;\r\n } else {\r\n this.links = [];\r\n }\r\n });\r\n }\r\n\r\n show() {\r\n this.emModal.show({ autoDimmer: false });\r\n }\r\n\r\n approveHandler(modal) {\r\n\r\n }\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmChatTopMenu {\r\n\r\n @bindable loginUser;\r\n @bindable chatUser;\r\n @bindable users;\r\n @bindable channels;\r\n @bindable channel;\r\n @bindable loginUser;\r\n @bindable chatId;\r\n @bindable chatTo;\r\n @bindable isAt;\r\n isRightSidebarShow = false;\r\n activeType = ''; // 触发激活的操作类型: search | stow | at | attach\r\n\r\n ACTION_TYPE_SEARCH = nsCons.ACTION_TYPE_SEARCH;\r\n ACTION_TYPE_STOW = nsCons.ACTION_TYPE_STOW;\r\n ACTION_TYPE_PIN = nsCons.ACTION_TYPE_PIN;\r\n ACTION_TYPE_AT = nsCons.ACTION_TYPE_AT;\r\n ACTION_TYPE_DIR = nsCons.ACTION_TYPE_DIR;\r\n ACTION_TYPE_ATTACH = nsCons.ACTION_TYPE_ATTACH;\r\n ACTION_TYPE_SCHEDULE = nsCons.ACTION_TYPE_SCHEDULE;\r\n\r\n countAt = null;\r\n newAtCnt = 0;\r\n\r\n channelLinks = [];\r\n\r\n loginUserChanged() {\r\n if (this.loginUser) {\r\n this.isSuper = utils.isSuperUser(this.loginUser);\r\n }\r\n }\r\n\r\n chatToChanged() {\r\n $(this.chatToDropdownRef).dropdown('set selected', this.chatId).dropdown('hide');\r\n }\r\n\r\n channelChanged() {\r\n this._refreshChannelLinks();\r\n }\r\n\r\n _refreshChannelLinks() {\r\n if (this.channel) {\r\n $.get('/admin/link/listBy', {\r\n channelId: this.channel.id\r\n }, (data) => {\r\n if (data.success) {\r\n this.channelLinks = data.data;\r\n } else {\r\n this.channelLinks = [];\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 构造函数\r\n */\r\n constructor() {\r\n this.subscribe = ea.subscribe(nsCons.EVENT_CHAT_MSG_WIKI_DIR, (payload) => {\r\n this.dir = payload.dir;\r\n\r\n if ((this.activeType == this.ACTION_TYPE_DIR) && this.isRightSidebarShow) {\r\n ea.publish(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, {\r\n action: this.activeType,\r\n result: this.dir\r\n });\r\n }\r\n });\r\n\r\n this.subscribe1 = ea.subscribe(nsCons.EVENT_CHAT_POLL_UPDATE, (payload) => {\r\n if (this.countAt !== null && this.newAtCnt <= 0) {\r\n this.newAtCnt = payload.countAt - this.countAt;\r\n }\r\n this.countAt = payload.countAt;\r\n this.countMyRecentSchedule = payload.countMyRecentSchedule;\r\n });\r\n\r\n this.subscribe2 = ea.subscribe(nsCons.EVENT_SWITCH_CHAT_TO, (payload) => {\r\n $(this.chatToDropdownRef).dropdown('toggle');\r\n });\r\n\r\n this.subscribe3 = ea.subscribe(nsCons.EVENT_CHANNEL_LINKS_REFRESH, (payload) => {\r\n this._refreshChannelLinks();\r\n });\r\n }\r\n\r\n /**\r\n * 当数据绑定引擎从视图解除绑定时被调用\r\n */\r\n unbind() {\r\n this.subscribe.dispose();\r\n this.subscribe1.dispose();\r\n this.subscribe2.dispose();\r\n this.subscribe3.dispose();\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n this.initHotkeys();\r\n this.initSearch();\r\n }\r\n\r\n initSearch() {\r\n var source = [];\r\n if (localStorage) {\r\n var v = localStorage.getItem('tms/chat-direct:search');\r\n source = v ? $.parseJSON(v) : [];\r\n }\r\n this.searchSource = source;\r\n $(this.searchRef).search({\r\n source: source,\r\n onSelect: (result, response) => {\r\n this.searchHandler();\r\n },\r\n onResults: () => {\r\n $(this.searchRef).search('hide results');\r\n }\r\n });\r\n\r\n }\r\n\r\n searchHandler() {\r\n\r\n $(this.searchRef).search('hide results');\r\n\r\n let search = $(this.searchInputRef).val();\r\n\r\n if (!search || search.length < 2) {\r\n toastr.error('检索条件至少需要两个字符!');\r\n return;\r\n }\r\n\r\n this.search = search;\r\n\r\n // 保存检索值\r\n var isExists = false;\r\n $.each(this.searchSource, function(index, val) {\r\n if (val.title == search) {\r\n isExists = true;\r\n return false;\r\n }\r\n });\r\n if (!isExists) {\r\n this.searchSource.splice(0, 0, {\r\n title: search\r\n });\r\n $(this.searchRef).search({\r\n source: _.clone(this.searchSource)\r\n });\r\n }\r\n localStorage && localStorage.setItem('tms/chat-direct:search', JSON.stringify(this.searchSource));\r\n\r\n let url;\r\n let data;\r\n if (this.isAt) {\r\n url = `/admin/chat/direct/search`;\r\n data = {\r\n search: this.search,\r\n size: 20,\r\n page: 0\r\n };\r\n } else {\r\n url = `/admin/chat/channel/search`;\r\n data = {\r\n search: this.search,\r\n channelId: this.channel.id,\r\n size: 20,\r\n page: 0\r\n };\r\n }\r\n\r\n this.searchingP = $.get(url, data, (data) => {\r\n if (data.success) {\r\n this.toggleRightSidebar(true);\r\n\r\n ea.publish(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, {\r\n action: this.activeType,\r\n result: data.data,\r\n search: this.search\r\n });\r\n }\r\n });\r\n }\r\n\r\n initHotkeys() {\r\n $(document).bind('keydown', 's', (event) => { // sidebar\r\n event.preventDefault();\r\n this.toggleRightSidebar();\r\n }).bind('keydown', 'ctrl+k', (event) => {\r\n event.preventDefault();\r\n $(this.chatToDropdownRef).dropdown('toggle');\r\n });\r\n\r\n $(this.filterChatToUser).bind('keydown', 'ctrl+k', (event) => {\r\n event.preventDefault();\r\n $(this.chatToDropdownRef).dropdown('toggle');\r\n });\r\n }\r\n\r\n initChatToDropdownHandler(last) {\r\n if (last) {\r\n _.defer(() => {\r\n $(this.chatToDropdownRef).dropdown().dropdown('set selected', this.chatId).dropdown({\r\n onChange: (value, text, $choice) => {\r\n window.location = wurl('path') + `#/chat/${$choice.attr('data-id')}`;\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n searchFocusHandler() {\r\n $(this.searchInputRef).css('width', 'auto');\r\n $(this.searchRemoveRef).show();\r\n this.isActiveSearch = true;\r\n }\r\n\r\n searchBlurHandler() {\r\n if (!$(this.searchInputRef).val()) {\r\n $(this.searchInputRef).css('width', '95px');\r\n $(this.searchRemoveRef).hide();\r\n this.isActiveSearch = false;\r\n }\r\n }\r\n\r\n sibebarRightHandler(event) {\r\n this.toggleRightSidebar();\r\n }\r\n\r\n toggleRightSidebar(asShow) {\r\n if (_.isUndefined(asShow)) {\r\n this.isRightSidebarShow = !this.isRightSidebarShow;\r\n } else {\r\n this.isRightSidebarShow = asShow;\r\n }\r\n\r\n ea.publish(nsCons.EVENT_CHAT_SIDEBAR_TOGGLE, {\r\n isShow: this.isRightSidebarShow\r\n });\r\n }\r\n\r\n searchKeyupHandler(evt) {\r\n if (evt.keyCode === 13) {\r\n this.activeType = nsCons.ACTION_TYPE_SEARCH;\r\n this.searchHandler();\r\n } else if (evt.keyCode === 27) {\r\n this.clearSearchHandler();\r\n }\r\n return true;\r\n }\r\n\r\n clearSearchHandler() {\r\n $(this.searchInputRef).val('').focus();\r\n }\r\n\r\n showStowHandler(event) {\r\n\r\n if (this.isRightSidebarShow && (this.activeType == nsCons.ACTION_TYPE_STOW) && !event.ctrlKey) {\r\n this.toggleRightSidebar();\r\n return;\r\n }\r\n\r\n this.activeType = nsCons.ACTION_TYPE_STOW;\r\n this.ajaxStow = $.get('/admin/chat/channel/getStows', (data) => {\r\n if (data.success) {\r\n let stowChats = _.map(data.data, (item) => {\r\n let chatChannel = item.chatChannel;\r\n chatChannel.chatStow = item;\r\n return chatChannel;\r\n });\r\n ea.publish(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, {\r\n action: this.activeType,\r\n result: _.reverse(stowChats)\r\n });\r\n this.toggleRightSidebar(true);\r\n } else {\r\n toastr.error(data.data, '获取收藏消息失败!');\r\n }\r\n });\r\n }\r\n\r\n showAtHandler(event) {\r\n\r\n if (this.isRightSidebarShow && (this.activeType == nsCons.ACTION_TYPE_AT) && (this.newAtCnt == 0) && !event.ctrlKey) {\r\n this.toggleRightSidebar();\r\n return;\r\n }\r\n\r\n this.activeType = nsCons.ACTION_TYPE_AT;\r\n this.newAtCnt = 0;\r\n this.ajaxAt = $.get('/admin/chat/channel/getAts', {\r\n page: 0,\r\n size: 20\r\n }, (data) => {\r\n if (data.success) {\r\n ea.publish(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, {\r\n action: this.activeType,\r\n result: data.data\r\n });\r\n this.toggleRightSidebar(true);\r\n } else {\r\n toastr.error(data.data, '获取@消息失败!');\r\n }\r\n });\r\n }\r\n\r\n logoutHandler() {\r\n $.post('/admin/logout').always(() => {\r\n utils.redirect2Login();\r\n });\r\n }\r\n\r\n showWikiDirHandler(event) {\r\n\r\n if (this.isRightSidebarShow && (this.activeType == nsCons.ACTION_TYPE_DIR) && !event.ctrlKey) {\r\n this.toggleRightSidebar();\r\n return;\r\n }\r\n\r\n this.activeType = nsCons.ACTION_TYPE_DIR;\r\n ea.publish(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, {\r\n action: this.activeType,\r\n result: this.dir\r\n });\r\n this.toggleRightSidebar(true);\r\n }\r\n\r\n showAttachHandler(event) {\r\n\r\n if (this.isRightSidebarShow && (this.activeType == nsCons.ACTION_TYPE_ATTACH) && !event.ctrlKey) {\r\n this.toggleRightSidebar();\r\n return;\r\n }\r\n\r\n this.activeType = nsCons.ACTION_TYPE_ATTACH;\r\n ea.publish(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, {\r\n action: this.activeType\r\n });\r\n this.toggleRightSidebar(true);\r\n }\r\n\r\n showScheduleHandler(event) {\r\n\r\n if (this.isRightSidebarShow && (this.activeType == nsCons.ACTION_TYPE_SCHEDULE) && !event.ctrlKey) {\r\n this.toggleRightSidebar();\r\n return;\r\n }\r\n\r\n this.activeType = nsCons.ACTION_TYPE_SCHEDULE;\r\n ea.publish(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, {\r\n action: this.activeType\r\n });\r\n this.toggleRightSidebar(true);\r\n }\r\n\r\n userEditHandler() {\r\n this.userEditMd.show();\r\n }\r\n\r\n membersShowHandler(item, event) {\r\n event.stopImmediatePropagation();\r\n ea.publish(nsCons.EVENT_CHANNEL_ACTIONS, {\r\n action: 'membersShowHandler',\r\n item: item\r\n });\r\n }\r\n\r\n leaveHandler(item, event) {\r\n event.stopImmediatePropagation();\r\n ea.publish(nsCons.EVENT_CHANNEL_ACTIONS, {\r\n action: 'leaveHandler',\r\n item: item\r\n });\r\n }\r\n\r\n membersMgrHandler(item, event) {\r\n event.stopImmediatePropagation();\r\n ea.publish(nsCons.EVENT_CHANNEL_ACTIONS, {\r\n action: 'membersMgrHandler',\r\n item: item\r\n });\r\n }\r\n\r\n editHandler(item, event) {\r\n event.stopImmediatePropagation();\r\n ea.publish(nsCons.EVENT_CHANNEL_ACTIONS, {\r\n action: 'editHandler',\r\n item: item\r\n });\r\n }\r\n\r\n delHandler(item, event) {\r\n event.stopImmediatePropagation();\r\n ea.publish(nsCons.EVENT_CHANNEL_ACTIONS, {\r\n action: 'delHandler',\r\n item: item\r\n });\r\n }\r\n\r\n viewOrMgrUsersHandler(event) {\r\n\r\n if (this.channel.owner.username == this.loginUser.username) {\r\n this.membersMgrHandler(this.channel, event);\r\n } else {\r\n this.membersShowHandler(this.channel, event);\r\n }\r\n }\r\n\r\n channelInfoHandler(event) {\r\n\r\n if (this.channel.owner.username == this.loginUser.username) {\r\n this.editHandler(this.channel, event);\r\n } else {\r\n event.stopImmediatePropagation();\r\n }\r\n }\r\n\r\n userInfoHandler(event) {\r\n event.stopImmediatePropagation();\r\n }\r\n\r\n stopImmediatePropagationHandler(event) {\r\n event.stopImmediatePropagation();\r\n }\r\n\r\n mailToHandler(event) {\r\n event.stopImmediatePropagation();\r\n window.location = `mailto:${this.chatUser.mails}`;\r\n }\r\n\r\n channelLinksHandler(event) {\r\n event.stopImmediatePropagation();\r\n $(this.channelLinksDdRef).dropdown('toggle');\r\n }\r\n\r\n addChannelLinkHandler(event) {\r\n this.channelLinkMgrVm.show();\r\n }\r\n\r\n openChannelLinkHandler(event, item) {\r\n event.stopImmediatePropagation();\r\n $(this.channelLinksDdRef).dropdown('hide');\r\n utils.openNewWin(item.href);\r\n $.post('/admin/link/count/inc', { id: item.id });\r\n }\r\n\r\n showPinHandler(event) {\r\n event.stopImmediatePropagation();\r\n if (this.isRightSidebarShow && (this.activeType == nsCons.ACTION_TYPE_PIN) && !event.ctrlKey) {\r\n this.toggleRightSidebar();\r\n return;\r\n }\r\n\r\n this.activeType = nsCons.ACTION_TYPE_PIN;\r\n\r\n this.ajaxPin = $.get('/admin/chat/channel/pin/list', {\r\n cid: this.channel.id\r\n }, (data) => {\r\n if (data.success) {\r\n let pinChats = _.map(data.data, (item) => {\r\n let chatChannel = item.chatChannel;\r\n chatChannel.chatPin = item;\r\n return chatChannel;\r\n });\r\n ea.publish(nsCons.EVENT_CHAT_RIGHT_SIDEBAR_TOGGLE, {\r\n action: this.activeType,\r\n result: _.reverse(pinChats)\r\n });\r\n this.toggleRightSidebar(true);\r\n } else {\r\n toastr.error(data.data, '获取频道固定消息失败!');\r\n }\r\n });\r\n }\r\n}\r\n","import {\n bindable,\n bindingMode,\n containerless\n}\nfrom 'aurelia-framework';\n\n@containerless\nexport class EmCheckbox {\n\n @bindable label;\n @bindable title;\n @bindable classes = 'fitted';\n @bindable onchange;\n @bindable onchecked;\n @bindable onunchecked;\n @bindable emCheckboxAll;\n @bindable({ defaultBindingMode: bindingMode.twoWay }) checked;\n\n @bindable signal;\n\n checkedChanged(news, old) {\n if (news) {\n $(this.checkbox).checkbox('set checked');\n } else {\n $(this.checkbox).checkbox('set unchecked');\n }\n\n this.signal && bs.signal(this.signal);\n }\n\n /**\n * 当视图被附加到DOM中时被调用\n */\n attached() {\n $(this.checkbox).checkbox({\n onChecked: () => {\n this.checked = true;\n _.defer(() => {\n this.emCheckboxAll && this.emCheckboxAll.refreshCheckedStatus();\n this.onchecked && this.onchecked(this);\n this.signal && bs.signal(this.signal);\n });\n\n },\n onUnchecked: () => {\n this.checked = false;\n _.defer(() => {\n this.emCheckboxAll && this.emCheckboxAll.refreshCheckedStatus();\n this.onunchecked && this.onunchecked(this);\n this.signal && bs.signal(this.signal);\n });\n\n },\n onChange: () => {\n _.defer(() => {\n this.onchange && this.onchange(this);\n });\n\n },\n });\n this.checkedChanged(this.checked);\n }\n}\n","import { bindable } from 'aurelia-framework';\r\n\r\nexport class EmConfirmModal {\r\n\r\n\tconfig = {};\r\n\r\n constructor() { // 通过构造函数注入\r\n }\r\n\r\n /**\r\n * 当视图从DOM中分离时被调用\r\n */\r\n detached() {\r\n $(this.md).remove();\r\n }\r\n\r\n attached() {\r\n\r\n $(this.md).modal({\r\n closable: false,\r\n allowMultiple: true,\r\n onApprove: () => {\r\n this.onapprove && this.onapprove();\r\n },\r\n onDeny: () => {\r\n this.ondeny && this.ondeny();\r\n }\r\n });\r\n }\r\n\r\n reset() {\r\n this.config = {\r\n title: '操作确认',\r\n content: '确定要执行该操作吗?',\r\n warning: false\r\n };\r\n }\r\n\r\n /**\r\n * 显示确认窗口\r\n * @param onapprove: 确认回调函数\r\n * @param ondeny: 取消回调函数\r\n */\r\n show(config) {\r\n\r\n this.reset();\r\n\r\n if (config) {\r\n this.config = _.extend(this.config, config);\r\n }\r\n\r\n if (config && config.onapprove) {\r\n this.onapprove = config.onapprove;\r\n }\r\n\r\n if (config && config.ondeny) {\r\n this.ondeny = config.ondeny;\r\n }\r\n\r\n $(this.md).modal('show');\r\n }\r\n\r\n /* 隐藏确认窗口 */\r\n hide() {\r\n $(this.md).modal('hide');\r\n }\r\n}\r\n","import { bindable, bindingMode } from 'aurelia-framework';\r\n\r\nexport class EmDropdown {\r\n\r\n @bindable name = _.uniqueId('em-dropdown-');\r\n @bindable text = '';\r\n @bindable labelProp = 'label';\r\n @bindable valueProp = 'value';\r\n @bindable({ defaultBindingMode: bindingMode.twoWay }) selectedItem;\r\n @bindable menuItems = [];\r\n @bindable classes = 'selection';\r\n\r\n selectedItemChanged(news, old) {\r\n \r\n if (news) {\r\n _.defer(() => {\r\n $(this.dropdown).dropdown('set selected', news);\r\n // console.log('selectedItemChanged: ' + news);\r\n });\r\n }\r\n\r\n }\r\n\r\n menuItemsChanged(news, old) {\r\n if (_.isEmpty(news)) {\r\n $(this.dropdown).dropdown('clear')\r\n this.selectedItem = null;\r\n }\r\n }\r\n\r\n initDropdownHandler(last) {\r\n\r\n if (last) {\r\n _.defer(() => {\r\n $(this.dropdown).dropdown({\r\n onChange: (value, text, $choice) => {\r\n // toastr.info(value + ' | ' + text);\r\n this.selectedItem = value;\r\n }\r\n }).dropdown('set selected', this.selectedItem);\r\n // console.log('initDropdownHandler: ' + this.selectedItem);\r\n });\r\n }\r\n }\r\n}\r\n","import { bindable } from 'aurelia-framework';\r\n\r\nexport class EmHotkeysModal {\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n $(this.md).modal();\r\n }\r\n\r\n show() {\r\n $(this.md).modal('show');\r\n }\r\n}\r\n","import {\r\n bindable,\r\n containerless\r\n}\r\nfrom 'aurelia-framework';\r\n\r\n@containerless\r\nexport class EmModal {\r\n\r\n @bindable confirmLabel = '确认';\r\n @bindable cancelLabel = '取消';\r\n @bindable onapprove;\r\n @bindable ondeny;\r\n @bindable onshow;\r\n @bindable onvisible;\r\n @bindable disabled = false;\r\n @bindable classes = 'small';\r\n @bindable showConfirm = true;\r\n\r\n options = {\r\n hideOnApprove: true,\r\n autoDimmer: true\r\n }\r\n\r\n /**\r\n * 当视图从DOM中分离时被调用\r\n */\r\n detached() {\r\n $(this.modal).remove();\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n\r\n $(this.modal).modal({\r\n closable: false,\r\n autofocus: false,\r\n observeChanges: true,\r\n allowMultiple: true,\r\n // detachable: false,\r\n onShow: () => {\r\n this.onshow && this.onshow(this);\r\n },\r\n onVisible: () => {\r\n this.onvisible && this.onvisible(this);\r\n },\r\n onApprove: () => {\r\n this.options.autoDimmer && this.showDimmer();\r\n this.onapprove && this.onapprove(this);\r\n return this.options.hideOnApprove;\r\n },\r\n onDeny: () => {\r\n this.ondeny && this.ondeny(this);\r\n }\r\n });\r\n }\r\n\r\n showDimmer() {\r\n this.loading = true;\r\n $(this.modal).find('.dimmer').dimmer('show');\r\n }\r\n\r\n hideDimmer() {\r\n this.loading = false;\r\n $(this.modal).find('.dimmer').dimmer('hide');\r\n }\r\n\r\n show(options) {\r\n _.extend(this.options, options);\r\n $(this.modal).modal('show');\r\n }\r\n\r\n hide() {\r\n this.hideDimmer();\r\n $(this.modal).modal('hide');\r\n }\r\n\r\n refresh() {\r\n // 延迟方法\r\n _.defer(() => {\r\n $(this.modal).modal('refresh');\r\n });\r\n }\r\n\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\r\nimport {\r\n default as ColorHash\r\n} from 'color-hash';\r\n\r\n@containerless\r\nexport class EmUserAvatar {\r\n\r\n @bindable user;\r\n\r\n userChanged() {\r\n if (this.user) {\r\n this._calcNameChar();\r\n // let hsl = colorHash.hsl(this.user.username);\r\n let cs = colorHash.rgb(this.user.username);\r\n this.bgColor = `rgba(${cs[0]}, ${cs[1]}, ${cs[2]}, 0.6)`;\r\n // this.bgColor = `hsl(${hsl[0]}, ${hsl[1] * 100}%, ${hsl[2] * 100}%)`;\r\n this.color = `rgba(${255 - cs[0]}, ${255 - cs[1]}, ${255 - cs[2]}, 1)`;\r\n }\r\n }\r\n\r\n _calcNameChar(lastChar = true) {\r\n if (this.user.name) {\r\n this.nameChar = lastChar ? _.last(this.user.name) : _.first(this.user.name);\r\n } else {\r\n this.nameChar = lastChar ? _.last(this.user.username) : _.first(this.user.username);\r\n }\r\n }\r\n\r\n /**\r\n * 当视图被附加到DOM中时被调用\r\n */\r\n attached() {\r\n $(this.avatarRef).hover(() => {\r\n this._calcNameChar(false);\r\n }, () => {\r\n this._calcNameChar();\r\n });\r\n }\r\n\r\n}\r\n","import { bindable, containerless } from 'aurelia-framework';\n\n@containerless\nexport class EmUserEdit {\n\n @bindable user;\n\n show() {\n this.emModal.show({\n hideOnApprove: false,\n autoDimmer: true\n });\n }\n\n showHandler() {\n // $.get('/admin/user/get', {\n // username: this.user.username\n // }, (data) => {});\n }\n\n /**\n * 当视图被附加到DOM中时被调用\n */\n attached() {\n $(this.frm)\n .form({\n on: 'blur',\n inline: true,\n fields: {\n name: 'empty',\n mail: ['empty', 'email'],\n // password: ['minLength[8]'],\n }\n });\n }\n\n _chkOk() {\n let pwd = this.user.password;\n if (pwd && pwd.length < 8) {\n toastr.error('密码长度不能少于8位字符!');\n return false;\n }\n\n return true;\n }\n\n approveHandler(modal) {\n\n if (this._chkOk() && $(this.frm).form('is valid')) {\n $.post('/admin/user/update2', {\n username: this.user.username,\n password: this.user.password,\n name: this.user.name,\n mail: this.user.mails\n }, (data) => {\n modal.hide();\n this.user.password = '';\n if (data.success) {\n toastr.success('更新个人信息成功!');\n } else {\n toastr.error(data.data, '更新个人信息失败!');\n }\n });\n } else {\n modal.hideDimmer();\n }\n }\n}\n","export default [{\r\n label: '待处理',\r\n value: '待处理',\r\n color: 'green',\r\n type: 'tag'\r\n}, {\r\n label: '进行中',\r\n value: '进行中',\r\n color: 'yellow',\r\n type: 'tag'\r\n}, {\r\n label: '已完成',\r\n value: '已完成',\r\n color: 'blue',\r\n type: 'tag'\r\n}, {\r\n label: '已验收',\r\n value: '已验收',\r\n color: 'grey',\r\n type: 'tag'\r\n}];\r\n","html,\r\nbody {\r\n height: 100%;\r\n overflow: hidden;\r\n}\r\n\r\n::-webkit-scrollbar {\r\n width: 6px;\r\n height: 6px;\r\n}\r\n\r\n::-webkit-scrollbar-thumb {\r\n border-radius: 6px;\r\n background-color: #c6c6c6;\r\n}\r\n\r\n::-webkit-scrollbar-thumb:hover {\r\n background: #999;\r\n}\r\n\r\n@media only screen and (min-width: 768px) {\r\n .ui.modal {\r\n &.tms-md450 {\r\n width: 450px!important;\r\n margin-left: -225px!important;\r\n }\r\n &.tms-md510 {\r\n width: 510px!important;\r\n margin-left: -255px!important;\r\n }\r\n &.tms-md540 {\r\n width: 540px!important;\r\n margin-left: -275px!important;\r\n }\r\n }\r\n}\r\n\r\n\r\n/* for swipebox */\r\n\r\n#swipebox-overlay {\r\n background: rgba(13, 13, 13, 0.5)!important;\r\n}\r\n\r\n.keyboard {\r\n background: #fff;\r\n font-weight: 700;\r\n padding: 2px .35rem;\r\n font-size: .8rem;\r\n margin: 0 2px;\r\n border-radius: .25rem;\r\n color: #3d3c40;\r\n border-bottom: 2px solid #9e9ea6;\r\n box-shadow: 0 1px 2px rgba(0, 0, 0, .5);\r\n text-shadow: none;\r\n}\r\n\r\n#nprogress .spinner {\r\n display: none!important;\r\n}\r\n\r\n.tms-dropzone-preview-hidden {\r\n .dz-preview {\r\n display: none!important;\r\n }\r\n}\r\n","code.nx {\r\n background-color: #F8F8F8;\r\n border: 1px solid #EAEAEA;\r\n border-radius: 3px 3px 3px 3px;\r\n margin: 0 2px;\r\n padding: 0 5px;\r\n white-space: nowrap;\r\n}\r\n\r\n.markdown-body {\r\n .pre-code-wrapper {\r\n position: relative;\r\n > i.copy.icon {\r\n display: none;\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n cursor: pointer;\r\n }\r\n &:hover {\r\n > i.copy.icon {\r\n display: block;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.tms-disabled {\r\n cursor: default;\r\n opacity: .45!important;\r\n background-image: none!important;\r\n box-shadow: none!important;\r\n pointer-events: none!important;\r\n}\r\n\r\n.tms-hidden {\r\n display: none!important;\r\n}\r\n\r\n.animated {\r\n -webkit-animation-duration: 1s;\r\n animation-duration: 1s;\r\n -webkit-animation-fill-mode: both;\r\n animation-fill-mode: both;\r\n}\r\n\r\n@keyframes flip {\r\n from {\r\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\r\n transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\r\n -webkit-animation-timing-function: ease-out;\r\n animation-timing-function: ease-out;\r\n }\r\n 40% {\r\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\r\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\r\n -webkit-animation-timing-function: ease-out;\r\n animation-timing-function: ease-out;\r\n }\r\n 50% {\r\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\r\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\r\n -webkit-animation-timing-function: ease-in;\r\n animation-timing-function: ease-in;\r\n }\r\n 80% {\r\n -webkit-transform: perspective(400px) scale3d(.95, .95, .95);\r\n transform: perspective(400px) scale3d(.95, .95, .95);\r\n -webkit-animation-timing-function: ease-in;\r\n animation-timing-function: ease-in;\r\n }\r\n to {\r\n -webkit-transform: perspective(400px);\r\n transform: perspective(400px);\r\n -webkit-animation-timing-function: ease-in;\r\n animation-timing-function: ease-in;\r\n }\r\n}\r\n\r\n.animated.flip {\r\n -webkit-backface-visibility: visible;\r\n backface-visibility: visible;\r\n -webkit-animation-name: flip;\r\n animation-name: flip;\r\n}\r\n\r\n.cbutton {\r\n position: relative;\r\n}\r\n\r\n.cbutton::after {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n margin: -7px 0 0 -7px;\r\n width: 14px;\r\n height: 14px;\r\n border-radius: 50%;\r\n content: '';\r\n opacity: 0;\r\n pointer-events: none;\r\n}\r\n\r\n\r\n/* Novak */\r\n\r\n.cbutton--effect-novak::after {\r\n background: rgba(111, 148, 182, 0.25);\r\n}\r\n\r\n.cbutton--effect-novak.cbutton--click::after {\r\n -webkit-animation: anim-effect-novak 0.5s forwards;\r\n animation: anim-effect-novak 0.5s forwards;\r\n}\r\n\r\n@-webkit-keyframes anim-effect-novak {\r\n 0% {\r\n opacity: 1;\r\n -webkit-transform: scale3d(0.1, 0.1, 1);\r\n transform: scale3d(0.1, 0.1, 1);\r\n }\r\n 100% {\r\n opacity: 0;\r\n -webkit-transform: scale3d(8, 8, 1);\r\n transform: scale3d(30, 30, 1);\r\n }\r\n}\r\n\r\n@keyframes anim-effect-novak {\r\n 0% {\r\n opacity: 1;\r\n -webkit-transform: scale3d(0.1, 0.1, 1);\r\n transform: scale3d(0.1, 0.1, 1);\r\n }\r\n 100% {\r\n opacity: 0;\r\n -webkit-transform: scale3d(8, 8, 1);\r\n transform: scale3d(30, 30, 1);\r\n }\r\n}\r\n\r\n.emoji {\r\n width: 1.5em;\r\n height: 1.5em;\r\n display: inline-block;\r\n margin-bottom: -.25em;\r\n background-size: contain;\r\n}\r\n",".ui.dimmer {\r\n background-color: rgba(0, 0, 0, 0.5)!important;\r\n &.page.modals {\r\n z-index: 10000;\r\n }\r\n}\r\n\r\n.ui.modal {\r\n > .actions {\r\n > .ui.left.floated.button {\r\n margin-left: 3.5px;\r\n }\r\n }\r\n}\r\n\r\n.ui.list .list .item {\r\n display: list-item!important;\r\n table-layout: fixed;\r\n height: auto!important;\r\n visibility: visible!important;\r\n}\r\n\r\n.ui.list .list .item:after {\r\n content: '';\r\n display: block;\r\n height: 0;\r\n clear: both;\r\n visibility: hidden;\r\n}\r\n\r\n#swipebox-bottom-bar,\r\n#swipebox-top-bar {\r\n background: rgba(0, 0, 0, 0.3)!important;\r\n}\r\n","",".tms-chat-direct {\r\n height: 100%;\r\n .ui.comments {\r\n min-height: e(\"calc(100% - 170px)\");\r\n > .comment {\r\n > .content {\r\n display: block!important;\r\n }\r\n }\r\n }\r\n .tms-edit-textarea {\r\n width: 100%;\r\n }\r\n .ui.selection.list>.item {\r\n cursor: default;\r\n }\r\n .ui.search .prompt {\r\n border-radius: .28571429rem;\r\n }\r\n .tms-content {\r\n position: relative;\r\n margin-left: 220px;\r\n top: 60px;\r\n height: e(\"calc(100% - 60px)\");\r\n // display: -webkit-box;\r\n // display: -ms-flexbox;\r\n // display: flex;\r\n // -webkit-box-align: stretch;\r\n // -ms-flex-align: stretch;\r\n // align-items: stretch;\r\n &.tms-sidebar-show {\r\n .tms-right-sidebar {\r\n width: 388px;\r\n border-left: 1px #e9e9e9 solid;\r\n -webkit-transition: width .15s ease-out 0s;\r\n transition: width .15s ease-out 0s;\r\n margin: 4px;\r\n margin-right: 0;\r\n }\r\n }\r\n @media only screen and (max-width: 767px) {\r\n margin-left: 0;\r\n }\r\n .tms-content-body {\r\n .tms-comments-container {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n }\r\n width: 100%;\r\n height: 100%;\r\n max-width: 100%;\r\n // -webkit-box-flex: 1;\r\n // -ms-flex: 1 1 0px;\r\n // flex: 1 1 0;\r\n // display: -webkit-box;\r\n // display: -ms-flexbox;\r\n // display: flex;\r\n // -webkit-box-align: stretch;\r\n // -ms-flex-align: stretch;\r\n // align-items: stretch;\r\n padding-bottom: 73px;\r\n .ui.comments {\r\n overflow: hidden;\r\n // -webkit-box-flex: 1;\r\n // -ms-flex: 1 1 0px;\r\n // flex: 1 1 0;\r\n max-width: none;\r\n margin-bottom: 12px;\r\n margin-top: 10px;\r\n > .ui.basic.button {\r\n display: block;\r\n margin-right: 0;\r\n }\r\n .tms-pre-more {\r\n margin-bottom: 10px;\r\n }\r\n .tms-next-more {\r\n margin-top: 10px;\r\n position: relative;\r\n .ui.icon.button {\r\n position: absolute;\r\n top: 2px;\r\n right: -1px;\r\n }\r\n }\r\n }\r\n .tms-go {\r\n position: fixed;\r\n left: 240px;\r\n .ui.button {\r\n margin: 0;\r\n background-color: rgba(224, 225, 226, 0.5);\r\n &:hover {\r\n background-color: #CACBCD;\r\n }\r\n }\r\n @media only screen and (max-width: 767px) {\r\n left: 20px;\r\n }\r\n }\r\n .tms-go-head {\r\n top: 80px;\r\n }\r\n .tms-go-foot {\r\n bottom: 90px;\r\n }\r\n }\r\n }\r\n .tms-right-sidebar {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n width: 0;\r\n // height: 100%;\r\n bottom: 0;\r\n overflow: hidden;\r\n padding-top: 10px;\r\n padding-bottom: 10px;\r\n .comments {\r\n .ui.button.tms-search-more {\r\n display: block;\r\n margin: 0;\r\n }\r\n .comment {\r\n .markdown-body {\r\n max-height: 65px;\r\n overflow-y: hidden;\r\n &.tms-open {\r\n max-height: none;\r\n overflow-y: auto;\r\n padding-bottom: 20px;\r\n }\r\n }\r\n .tms-btn-open-search-item {\r\n display: none;\r\n height: 25px;\r\n // background-color: rgba(0, 0, 0, 0.1);\r\n position: absolute;\r\n bottom: 0;\r\n right: 0;\r\n left: 0;\r\n text-align: center;\r\n padding-top: 2px;\r\n background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0, #bbbbbb 100%);\r\n background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0, #bbbbbb 100%);\r\n background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0, #bbbbbb 100%);\r\n background-image: linear-gradient(top, rgba(255, 255, 255, 0) 0, #bbbbbb 100%);\r\n }\r\n &:hover {\r\n .tms-btn-open-search-item {\r\n display: block;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n @media only screen and (max-width: 767px) {\r\n .tms-left-sidebar {\r\n display: none;\r\n }\r\n .tms-right-sidebar {\r\n position: fixed;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n top: 59px;\r\n background-color: white;\r\n margin-left: 0!important;\r\n .panel-chat-msg {\r\n .ui.basic.segment.minimal.selection.list.segment.comments {\r\n padding-left: 0;\r\n padding-right: 0;\r\n }\r\n }\r\n }\r\n .tms-sidebar-show {\r\n .tms-right-sidebar {\r\n width: 100%!important;\r\n }\r\n }\r\n }\r\n .tms-edit-actions {\r\n .left.button {\r\n border-top-left-radius: 0;\r\n }\r\n .right.button {\r\n border-top-right-radius: 0;\r\n }\r\n }\r\n}\r\n\r\n.tms-chat-progress {\r\n position: absolute;\r\n display: inline-block;\r\n top: 60px;\r\n left: 0;\r\n width: 0;\r\n height: 2px;\r\n margin-left: 220px;\r\n background-color: #c6c6c6;\r\n box-shadow: 0px 0px 8px 0px #c6c6c6;\r\n @media only screen and (max-width: 767px) {\r\n margin-left: 0;\r\n }\r\n}\r\n",".markdown-body {\r\n font-size: 14px;\r\n line-height: 1.6;\r\n}\r\n\r\n.markdown-body > br,\r\n.markdown-body ul br .markdown-body ol br {\r\n display: none;\r\n}\r\n\r\n.markdown-body > *:first-child {\r\n margin-top: 0 !important;\r\n}\r\n\r\n.markdown-body > *:last-child {\r\n margin-bottom: 0 !important;\r\n}\r\n\r\n.markdown-body a {\r\n word-break: break-all;\r\n}\r\n\r\n.markdown-body a.absent {\r\n color: #CC0000;\r\n}\r\n\r\n.markdown-body a.anchor {\r\n bottom: 0;\r\n cursor: pointer;\r\n display: block;\r\n left: 0;\r\n margin-left: -30px;\r\n padding-left: 30px;\r\n position: absolute;\r\n top: 0;\r\n}\r\n\r\n.markdown-body h1,\r\n.markdown-body h2,\r\n.markdown-body h3,\r\n.markdown-body h4,\r\n.markdown-body h5,\r\n.markdown-body h6 {\r\n cursor: text;\r\n font-weight: bold;\r\n margin: 20px 0 10px;\r\n padding: 0;\r\n position: relative;\r\n word-break: break-all;\r\n}\r\n\r\n.markdown-body h1 .mini-icon-link,\r\n.markdown-body h2 .mini-icon-link,\r\n.markdown-body h3 .mini-icon-link,\r\n.markdown-body h4 .mini-icon-link,\r\n.markdown-body h5 .mini-icon-link,\r\n.markdown-body h6 .mini-icon-link {\r\n color: #000000;\r\n display: none;\r\n}\r\n\r\n.markdown-body h1:hover a.anchor,\r\n.markdown-body h2:hover a.anchor,\r\n.markdown-body h3:hover a.anchor,\r\n.markdown-body h4:hover a.anchor,\r\n.markdown-body h5:hover a.anchor,\r\n.markdown-body h6:hover a.anchor {\r\n line-height: 1;\r\n margin-left: -22px;\r\n padding-left: 0;\r\n text-decoration: none;\r\n top: 15%;\r\n}\r\n\r\n.markdown-body h1:hover a.anchor .mini-icon-link,\r\n.markdown-body h2:hover a.anchor .mini-icon-link,\r\n.markdown-body h3:hover a.anchor .mini-icon-link,\r\n.markdown-body h4:hover a.anchor .mini-icon-link,\r\n.markdown-body h5:hover a.anchor .mini-icon-link,\r\n.markdown-body h6:hover a.anchor .mini-icon-link {\r\n display: inline-block;\r\n}\r\n\r\n.markdown-body h1 tt,\r\n.markdown-body h1 code,\r\n.markdown-body h2 tt,\r\n.markdown-body h2 code,\r\n.markdown-body h3 tt,\r\n.markdown-body h3 code,\r\n.markdown-body h4 tt,\r\n.markdown-body h4 code,\r\n.markdown-body h5 tt,\r\n.markdown-body h5 code,\r\n.markdown-body h6 tt,\r\n.markdown-body h6 code {\r\n font-size: inherit;\r\n}\r\n\r\n.markdown-body h1 {\r\n color: #000000;\r\n font-size: 28px;\r\n}\r\n\r\n.markdown-body h2 {\r\n border-bottom: 1px solid #CCCCCC;\r\n color: #000000;\r\n font-size: 24px;\r\n}\r\n\r\n.markdown-body h3 {\r\n font-size: 18px;\r\n}\r\n\r\n.markdown-body h4 {\r\n font-size: 16px;\r\n}\r\n\r\n.markdown-body h5 {\r\n font-size: 14px;\r\n}\r\n\r\n.markdown-body h6 {\r\n color: #777777;\r\n font-size: 14px;\r\n}\r\n\r\n.markdown-body p,\r\n.markdown-body blockquote,\r\n.markdown-body ul,\r\n.markdown-body ol,\r\n.markdown-body dl,\r\n.markdown-body table,\r\n.markdown-body pre {\r\n margin: 15px 0;\r\n}\r\n\r\n.markdown-body hr {\r\n overflow: hidden;\r\n background: 0 0\r\n}\r\n\r\n.markdown-body hr:before {\r\n display: table;\r\n content: \"\"\r\n}\r\n\r\n.markdown-body hr:after {\r\n display: table;\r\n clear: both;\r\n content: \"\"\r\n}\r\n\r\n.markdown-body hr {\r\n height: 4px;\r\n padding: 0;\r\n margin: 16px 0;\r\n background-color: #e7e7e7;\r\n border: 0\r\n}\r\n\r\n.markdown-body hr {\r\n -moz-box-sizing: content-box;\r\n box-sizing: content-box\r\n}\r\n\r\n.markdown-body > h2:first-child,\r\n.markdown-body > h1:first-child,\r\n.markdown-body > h1:first-child + h2,\r\n.markdown-body > h3:first-child,\r\n.markdown-body > h4:first-child,\r\n.markdown-body > h5:first-child,\r\n.markdown-body > h6:first-child {\r\n margin-top: 0;\r\n padding-top: 0;\r\n}\r\n\r\n.markdown-body a:first-child h1,\r\n.markdown-body a:first-child h2,\r\n.markdown-body a:first-child h3,\r\n.markdown-body a:first-child h4,\r\n.markdown-body a:first-child h5,\r\n.markdown-body a:first-child h6 {\r\n margin-top: 0;\r\n padding-top: 0;\r\n}\r\n\r\n.markdown-body h1 + p,\r\n.markdown-body h2 + p,\r\n.markdown-body h3 + p,\r\n.markdown-body h4 + p,\r\n.markdown-body h5 + p,\r\n.markdown-body h6 + p {\r\n margin-top: 0;\r\n}\r\n\r\n.markdown-body li p.first {\r\n display: inline-block;\r\n}\r\n\r\n.markdown-body ul,\r\n.markdown-body ol {\r\n padding-left: 30px;\r\n}\r\n\r\n.markdown-body ul.no-list,\r\n.markdown-body ol.no-list {\r\n list-style-type: none;\r\n padding: 0;\r\n}\r\n\r\n.markdown-body ul li > *:first-child,\r\n.markdown-body ol li > *:first-child {\r\n margin-top: 0;\r\n}\r\n\r\n.markdown-body ul ul,\r\n.markdown-body ul ol,\r\n.markdown-body ol ol,\r\n.markdown-body ol ul {\r\n margin-bottom: 0;\r\n}\r\n\r\n.markdown-body dl {\r\n padding: 0;\r\n}\r\n\r\n.markdown-body dl dt {\r\n font-size: 14px;\r\n font-style: italic;\r\n font-weight: bold;\r\n margin: 15px 0 5px;\r\n padding: 0;\r\n}\r\n\r\n.markdown-body dl dt:first-child {\r\n padding: 0;\r\n}\r\n\r\n.markdown-body dl dt > *:first-child {\r\n margin-top: 0;\r\n}\r\n\r\n.markdown-body dl dt > *:last-child {\r\n margin-bottom: 0;\r\n}\r\n\r\n.markdown-body dl dd {\r\n margin: 0 0 15px;\r\n padding: 0 15px;\r\n}\r\n\r\n.markdown-body dl dd > *:first-child {\r\n margin-top: 0;\r\n}\r\n\r\n.markdown-body dl dd > *:last-child {\r\n margin-bottom: 0;\r\n}\r\n\r\n.markdown-body blockquote {\r\n border-left: 4px solid #DDDDDD;\r\n color: #777777;\r\n padding: 0 15px;\r\n}\r\n\r\n.markdown-body blockquote > *:first-child {\r\n margin-top: 0;\r\n}\r\n\r\n.markdown-body blockquote > *:last-child {\r\n margin-bottom: 0;\r\n}\r\n\r\n.markdown-body table th {\r\n font-weight: bold;\r\n}\r\n\r\n.markdown-body table th,\r\n.markdown-body table td {\r\n border: 1px solid #CCCCCC;\r\n padding: 6px 13px;\r\n}\r\n\r\n.markdown-body table tr {\r\n background-color: #FFFFFF;\r\n border-top: 1px solid #CCCCCC;\r\n}\r\n\r\n.markdown-body table tr:nth-child(2n) {\r\n background-color: #F8F8F8;\r\n}\r\n\r\n.markdown-body img {\r\n max-width: 100%;\r\n}\r\n\r\n.markdown-body span.frame {\r\n display: block;\r\n overflow: hidden;\r\n}\r\n\r\n.markdown-body span.frame > span {\r\n border: 1px solid #DDDDDD;\r\n display: block;\r\n float: left;\r\n margin: 13px 0 0;\r\n overflow: hidden;\r\n padding: 7px;\r\n width: auto;\r\n}\r\n\r\n.markdown-body span.frame span img {\r\n display: block;\r\n float: left;\r\n}\r\n\r\n.markdown-body span.frame span span {\r\n clear: both;\r\n color: #333333;\r\n display: block;\r\n padding: 5px 0 0;\r\n}\r\n\r\n.markdown-body span.align-center {\r\n clear: both;\r\n display: block;\r\n overflow: hidden;\r\n}\r\n\r\n.markdown-body span.align-center > span {\r\n display: block;\r\n margin: 13px auto 0;\r\n overflow: hidden;\r\n text-align: center;\r\n}\r\n\r\n.markdown-body span.align-center span img {\r\n margin: 0 auto;\r\n text-align: center;\r\n}\r\n\r\n.markdown-body span.align-right {\r\n clear: both;\r\n display: block;\r\n overflow: hidden;\r\n}\r\n\r\n.markdown-body span.align-right > span {\r\n display: block;\r\n margin: 13px 0 0;\r\n overflow: hidden;\r\n text-align: right;\r\n}\r\n\r\n.markdown-body span.align-right span img {\r\n margin: 0;\r\n text-align: right;\r\n}\r\n\r\n.markdown-body span.float-left {\r\n display: block;\r\n float: left;\r\n margin-right: 13px;\r\n overflow: hidden;\r\n}\r\n\r\n.markdown-body span.float-left span {\r\n margin: 13px 0 0;\r\n}\r\n\r\n.markdown-body span.float-right {\r\n display: block;\r\n float: right;\r\n margin-left: 13px;\r\n overflow: hidden;\r\n}\r\n\r\n.markdown-body span.float-right > span {\r\n display: block;\r\n margin: 13px auto 0;\r\n overflow: hidden;\r\n text-align: right;\r\n}\r\n\r\n.markdown-body code,\r\n.markdown-body tt {\r\n background-color: #F8F8F8;\r\n border: 1px solid #EAEAEA;\r\n border-radius: 3px 3px 3px 3px;\r\n margin: 0 2px;\r\n padding: 0 5px;\r\n /* white-space: nowrap; */\r\n white-space: normal;\r\n word-break: break-all;\r\n}\r\n\r\n.markdown-body pre > code {\r\n background: none repeat scroll 0 0 transparent;\r\n border: medium none;\r\n margin: 0;\r\n padding: 0;\r\n white-space: pre;\r\n}\r\n\r\n.markdown-body .highlight pre,\r\n.markdown-body pre {\r\n background-color: #F8F8F8;\r\n border: 1px solid #CCCCCC;\r\n border-radius: 3px 3px 3px 3px;\r\n font-size: 13px;\r\n line-height: 19px;\r\n overflow: auto;\r\n padding: 6px 10px;\r\n}\r\n\r\n.markdown-body pre code,\r\n.markdown-body pre tt {\r\n background-color: transparent;\r\n border: medium none;\r\n}\r\n","/*************** SCROLLBAR BASE CSS ***************/\r\n\r\n.scroll-wrapper {\r\n overflow: hidden !important;\r\n padding: 0 !important;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n.scroll-wrapper > .scroll-content {\r\n border: none !important;\r\n box-sizing: content-box !important;\r\n height: auto;\r\n left: 0;\r\n margin: 0;\r\n max-height: none;\r\n max-width: none !important;\r\n overflow: scroll !important;\r\n padding: 0;\r\n position: relative !important;\r\n top: 0;\r\n width: auto !important;\r\n}\r\n\r\n.scroll-wrapper > .scroll-content::-webkit-scrollbar {\r\n height: 0;\r\n width: 0;\r\n}\r\n\r\n.scroll-element {\r\n display: none;\r\n}\r\n\r\n.scroll-element,\r\n.scroll-element div {\r\n box-sizing: content-box;\r\n}\r\n\r\n.scroll-element.scroll-x.scroll-scrollx_visible,\r\n.scroll-element.scroll-y.scroll-scrolly_visible {\r\n display: block;\r\n}\r\n\r\n.scroll-element .scroll-bar,\r\n.scroll-element .scroll-arrow {\r\n cursor: default;\r\n}\r\n\r\n.scroll-textarea {\r\n border: 1px solid #cccccc;\r\n border-top-color: #999999;\r\n}\r\n\r\n.scroll-textarea > .scroll-content {\r\n overflow: hidden !important;\r\n}\r\n\r\n.scroll-textarea > .scroll-content > textarea {\r\n border: none !important;\r\n box-sizing: border-box;\r\n height: 100% !important;\r\n margin: 0;\r\n max-height: none !important;\r\n max-width: none !important;\r\n overflow: scroll !important;\r\n outline: none;\r\n padding: 2px;\r\n position: relative !important;\r\n top: 0;\r\n width: 100% !important;\r\n}\r\n\r\n.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar {\r\n height: 0;\r\n width: 0;\r\n}\r\n\r\n\r\n/*************** SIMPLE OUTER SCROLLBAR ***************/\r\n\r\n.scrollbar-outer > .scroll-element,\r\n.scrollbar-outer > .scroll-element div {\r\n border: none;\r\n margin: 0;\r\n padding: 0;\r\n position: absolute;\r\n z-index: 10;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element {\r\n background-color: #ffffff;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element div {\r\n display: block;\r\n height: 100%;\r\n left: 0;\r\n top: 0;\r\n width: 100%;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-x {\r\n bottom: 0;\r\n height: 12px;\r\n left: 0;\r\n width: 100%;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-y {\r\n height: 100%;\r\n right: 0;\r\n top: 0;\r\n width: 12px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-x .scroll-element_outer {\r\n height: 8px;\r\n top: 2px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-y .scroll-element_outer {\r\n left: 2px;\r\n width: 8px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element .scroll-element_outer {\r\n overflow: hidden;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element .scroll-element_track {\r\n background-color: #eeeeee;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element .scroll-element_outer,\r\n.scrollbar-outer > .scroll-element .scroll-element_track,\r\n.scrollbar-outer > .scroll-element .scroll-bar {\r\n -webkit-border-radius: 8px;\r\n -moz-border-radius: 8px;\r\n border-radius: 8px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element .scroll-bar {\r\n background-color: #d9d9d9;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element .scroll-bar:hover {\r\n background-color: #c2c2c2;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-draggable .scroll-bar {\r\n background-color: #919191;\r\n}\r\n\r\n\r\n/* scrollbar height/width & offset from container borders */\r\n\r\n.scrollbar-outer > .scroll-content.scroll-scrolly_visible {\r\n left: -12px;\r\n margin-left: 12px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-content.scroll-scrollx_visible {\r\n top: -12px;\r\n margin-top: 12px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-x .scroll-bar {\r\n min-width: 10px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-y .scroll-bar {\r\n min-height: 10px;\r\n}\r\n\r\n\r\n/* update scrollbar offset if both scrolls are visible */\r\n\r\n.scrollbar-outer > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {\r\n left: -14px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {\r\n top: -14px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {\r\n left: -14px;\r\n}\r\n\r\n.scrollbar-outer > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {\r\n top: -14px;\r\n}\r\n\r\n\r\n/*************** SCROLLBAR MAC OS X ***************/\r\n\r\n.scrollbar-macosx > .scroll-element,\r\n.scrollbar-macosx > .scroll-element div {\r\n background: none;\r\n border: none;\r\n margin: 0;\r\n padding: 0;\r\n position: absolute;\r\n z-index: 10;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element div {\r\n display: block;\r\n height: 100%;\r\n left: 0;\r\n top: 0;\r\n width: 100%;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element .scroll-element_track {\r\n display: none;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element .scroll-bar {\r\n background-color: #6C6E71;\r\n display: block;\r\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\r\n filter: alpha(opacity=0);\r\n opacity: 0;\r\n -webkit-border-radius: 7px;\r\n -moz-border-radius: 7px;\r\n border-radius: 7px;\r\n -webkit-transition: opacity 0.2s linear;\r\n -moz-transition: opacity 0.2s linear;\r\n -o-transition: opacity 0.2s linear;\r\n -ms-transition: opacity 0.2s linear;\r\n transition: opacity 0.2s linear;\r\n}\r\n\r\n.scrollbar-macosx:hover > .scroll-element .scroll-bar,\r\n.scrollbar-macosx > .scroll-element.scroll-draggable .scroll-bar {\r\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)\";\r\n filter: alpha(opacity=70);\r\n opacity: 0.7;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-x {\r\n bottom: 0px;\r\n height: 0px;\r\n left: 0;\r\n min-width: 100%;\r\n overflow: visible;\r\n width: 100%;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-y {\r\n height: 100%;\r\n min-height: 100%;\r\n right: 0px;\r\n top: 0;\r\n width: 0px;\r\n}\r\n\r\n\r\n/* scrollbar height/width & offset from container borders */\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-x .scroll-bar {\r\n height: 7px;\r\n min-width: 10px;\r\n top: -9px;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-y .scroll-bar {\r\n left: -9px;\r\n min-height: 10px;\r\n width: 7px;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-x .scroll-element_outer {\r\n left: 2px;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-x .scroll-element_size {\r\n left: -4px;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-y .scroll-element_outer {\r\n top: 2px;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-y .scroll-element_size {\r\n top: -4px;\r\n}\r\n\r\n\r\n/* update scrollbar offset if both scrolls are visible */\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {\r\n left: -11px;\r\n}\r\n\r\n.scrollbar-macosx > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {\r\n top: -11px;\r\n}\r\n",".tms-user-login {\r\n width: 100%;\r\n min-height: 100%;\r\n background-color: #5a3636;\r\n overflow: hidden;\r\n .container {\r\n width: 300px;\r\n top: 50px;\r\n margin-left: auto;\r\n margin-right: auto;\r\n position: relative;\r\n }\r\n h2 {\r\n color: rgba(197, 164, 164, 0.8)!important;\r\n }\r\n .ui.form {\r\n background-color: #353131;\r\n }\r\n .ui.error.message {\r\n background-color: #5a3636;\r\n }\r\n .ui.error.message .header {\r\n color: #e0b4b4;\r\n }\r\n .ui.checkbox label {\r\n color: #ad8b8b;\r\n }\r\n .ui.checkbox input:focus~label {\r\n color: #ad8b8b;\r\n }\r\n .ui.checkbox label:hover {\r\n color: #ad8b8b;\r\n }\r\n .ui.button {\r\n background-color: #5a3636;\r\n color: #ad8b75;\r\n }\r\n}\r\n",".tms-user-pwd-reset {\r\n height: 100%;\r\n .tms-flex {\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n}\r\n",".tms-user-register {\r\n height: 100%;\r\n .tms-flex {\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n}",".em-blog-comment-popup {}",".em-blog-comment-share {\r\n &.ui.popup {\r\n max-width: 100%;\r\n width: 255px;\r\n .ui.input {\r\n width: 225px;\r\n }\r\n textarea {\r\n /* width: 195px!important; */\r\n }\r\n .ui.search>.results .result {\r\n cursor: pointer!important;\r\n display: block!important;\r\n color: rgba(0, 0, 0, .87)!important;\r\n border-bottom: 1px solid rgba(34, 36, 38, .1)!important;\r\n margin: 0!important;\r\n }\r\n .ui.list {\r\n > .item {\r\n color: rgba(0, 0, 0, .87);\r\n }\r\n }\r\n }\r\n &:after {\r\n content: '';\r\n clear: both;\r\n }\r\n .footer {\r\n margin-top: 16px;\r\n .btn-cancel {\r\n float: right;\r\n margin: 6px 0 0 8px!important;\r\n }\r\n }\r\n}\r\n",".em-blog-comment {\r\n margin-top: 32px;\r\n margin-bottom: 32px;\r\n .ui.comments {\r\n > .ui.dividing.header {\r\n margin-bottom: 0;\r\n }\r\n max-width: 100%;\r\n .comment {\r\n margin-top: 0;\r\n &:hover {\r\n background: rgba(0, 0, 0, .03);\r\n color: rgba(0, 0, 0, .8);\r\n .content {\r\n .tools {\r\n display: block;\r\n }\r\n }\r\n &:before {\r\n width: 4px;\r\n }\r\n }\r\n > .ui.divider {\r\n margin-bottom: 0;\r\n }\r\n .content {\r\n .markdown-body {\r\n img {\r\n @media only screen and (min-width: 768px) {\r\n max-width: 360px;\r\n max-height: 360px;\r\n }\r\n }\r\n }\r\n .actions {}\r\n .tms-blog-comment-edit-textarea {\r\n width: 100%;\r\n }\r\n .textcomplete-container {\r\n position: relative;\r\n .append-to {\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n }\r\n }\r\n > .tools {\r\n position: absolute;\r\n right: 0;\r\n bottom: 0;\r\n display: none;\r\n > .ui.button {\r\n margin: 0;\r\n background-color: rgba(224, 225, 226, 0.5);\r\n &:hover {\r\n background-color: rgba(224, 225, 226, 1);\r\n }\r\n }\r\n }\r\n }\r\n &.active {\r\n background-color: #f5f5f5;\r\n &:before {\r\n width: 4px;\r\n }\r\n }\r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n z-index: -1;\r\n top: -2px;\r\n left: -4px;\r\n bottom: 1px;\r\n background: #2098D1;\r\n width: 0;\r\n -webkit-transition-property: width;\r\n transition-property: width;\r\n -webkit-transition-duration: 0.3s;\r\n transition-duration: 0.3s;\r\n -webkit-transition-timing-function: ease-out;\r\n transition-timing-function: ease-out;\r\n }\r\n &:nth-child(2) {\r\n &:before {\r\n top: -1px;\r\n }\r\n }\r\n }\r\n }\r\n .CodeMirror {\r\n min-height: 60px;\r\n }\r\n .CodeMirror-scroll {\r\n min-height: 60px;\r\n }\r\n .dropzone {\r\n position: relative;\r\n .tms-blog-comment-status-bar-wrapper {\r\n position: relative;\r\n width: 100%;\r\n height: 0;\r\n .tms-blog-comment-status-bar {\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n }\r\n .dropzone-previews {\r\n position: absolute;\r\n left: 0;\r\n bottom: -7px;\r\n width: 100%;\r\n .dz-preview {\r\n width: 100%;\r\n margin: 0;\r\n .dz-progress {\r\n height: 2px;\r\n background-color: #aaa;\r\n border: none;\r\n }\r\n .dz-remove {\r\n display: none;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n",".em-blog-content {\r\n transition: width 0.15s ease-out 0s;\r\n .right-sidebar-show & {\r\n width: e(\"calc(100% - 600px)\")!important;\r\n @media only screen and (max-width: 767px) {\r\n width: 100%!important;\r\n }\r\n }\r\n @media only screen and (max-width: 767px) {\r\n left: 0;\r\n width: 100%!important;\r\n }\r\n // z-index: 103;\r\n position: fixed;\r\n top: 55px;\r\n left: 300px;\r\n width: e(\"calc(100% - 300px)\")!important;\r\n height: e(\"calc(100% - 55px)\")!important;\r\n padding: 16px;\r\n overflow: auto;\r\n > .header {\r\n .ui.header {\r\n .sub.header {\r\n color: #707070;\r\n font-size: 12px;\r\n margin-top: 8px;\r\n a.author {\r\n cursor: pointer;\r\n }\r\n .readCnt {\r\n cursor: pointer;\r\n margin-left: 16px;\r\n a {\r\n cursor: pointer;\r\n }\r\n }\r\n .commentCnt {\r\n cursor: pointer;\r\n margin-left: 16px;\r\n a {\r\n cursor: pointer;\r\n }\r\n }\r\n }\r\n }\r\n margin-bottom: 24px;\r\n }\r\n .topbar {\r\n position: relative;\r\n height: 30px;\r\n margin-bottom: 8px;\r\n > .ui.breadcrumb {\r\n line-height: 30px;\r\n }\r\n &:after {\r\n content: '';\r\n clear: both;\r\n }\r\n .actions {\r\n float: right;\r\n > .ui.basic.button {\r\n padding: 8px;\r\n box-shadow: none;\r\n &:hover {\r\n box-shadow: 0 0 0 1px rgba(34, 36, 38, .35) inset, 0 0 0 0 rgba(34, 36, 38, .15) inset;\r\n }\r\n > i.icon {\r\n margin-right: 2px;\r\n &.hide {\r\n position: relative;\r\n top: -1px;\r\n }\r\n &.unhide {\r\n position: relative;\r\n top: -1px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n > .ui.message {\r\n .content {\r\n > span {\r\n display: inline-block;\r\n margin-top: 10px;\r\n }\r\n .ui.button {\r\n position: relative;\r\n top: -5px;\r\n left: 10px;\r\n }\r\n }\r\n }\r\n .footer {\r\n margin-top: 16px;\r\n > span {\r\n font-size: 12px;\r\n }\r\n .rate {\r\n margin-right: 16px;\r\n cursor: pointer;\r\n color: #4183c4;\r\n }\r\n > .tags {\r\n float: right;\r\n .ui.selection.dropdown {\r\n border: none;\r\n &:hover {\r\n box-shadow: 0 0px 1px 0px #2185d0;\r\n }\r\n }\r\n }\r\n &:after {\r\n content: '';\r\n clear: both;\r\n display: block;\r\n }\r\n }\r\n > .ui.feed {\r\n margin-bottom: 25px!important;\r\n > .event {\r\n position: relative;\r\n &.opened {\r\n > .content .extra.text {\r\n &:hover {\r\n max-height: none;\r\n overflow-y: auto;\r\n padding-bottom: 25px;\r\n }\r\n }\r\n }\r\n >.label+.content {\r\n max-width: e(\"calc(100% - 50px)\");\r\n }\r\n > .content .extra.text {\r\n position: relative;\r\n max-width: none;\r\n min-height: 25px;\r\n max-height: 60px;\r\n overflow-y: hidden;\r\n &:hover {\r\n > .btn-open {\r\n display: block;\r\n }\r\n }\r\n > .btn-open {\r\n display: none;\r\n height: 25px;\r\n background-color: rgba(0, 0, 0, 0.1);\r\n position: absolute;\r\n bottom: 0;\r\n right: 0;\r\n left: 0;\r\n text-align: center;\r\n padding-top: 2px;\r\n }\r\n pre {\r\n white-space: pre-wrap;\r\n white-space: -moz-pre-wrap;\r\n white-space: -pre-wrap;\r\n white-space: -o-pre-wrap;\r\n word-wrap: break-word;\r\n word-break: break-all;\r\n }\r\n }\r\n &.active {\r\n background: rgba(0, 0, 0, .03);\r\n &:before {\r\n width: 4px;\r\n }\r\n }\r\n &:hover {\r\n background: rgba(0, 0, 0, .03);\r\n &:before {\r\n width: 4px;\r\n }\r\n }\r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n top: 0;\r\n left: -4px;\r\n bottom: 0;\r\n background: #2098D1;\r\n width: 0;\r\n -webkit-transition-property: width;\r\n transition-property: width;\r\n -webkit-transition-duration: 0.3s;\r\n transition-duration: 0.3s;\r\n -webkit-transition-timing-function: ease-out;\r\n transition-timing-function: ease-out;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.tms-blog-progress {\r\n position: absolute;\r\n display: inline-block;\r\n top: 55px;\r\n left: 0;\r\n width: 0;\r\n height: 2px;\r\n margin-left: 300px;\r\n background-color: #2185d0;\r\n box-shadow: 0px 0px 8px 0px #205081;\r\n @media only screen and (max-width: 767px) {\r\n margin-left: 0;\r\n }\r\n}\r\n\r\n.em-blog-content-wrapper {\r\n position: fixed;\r\n top: 55px;\r\n width: e(\"calc(100vw)\")!important;\r\n height: e(\"calc(100% - 55px)\")!important;\r\n}\r\n\r\n@media only screen and (max-width: 767px) {\r\n .tms-blog {\r\n &.left-sidebar-show {\r\n .em-blog-content-wrapper {\r\n > .ui.dimmer {\r\n display: block;\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n &.right-sidebar-show {\r\n .em-blog-content-wrapper {\r\n > .ui.dimmer {\r\n display: block;\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n .em-blog-content-wrapper {\r\n > .ui.dimmer {\r\n display: none;\r\n }\r\n }\r\n }\r\n}\r\n",".em-blog-history-diff {\r\n > .content {\r\n max-height: 300px;\r\n overflow-y: auto;\r\n }\r\n}\r\n",".em-blog-history-view {\r\n > .topbar {\r\n margin-bottom: 16px;\r\n }\r\n > .content {\r\n max-height: 300px;\r\n overflow-y: auto;\r\n }\r\n}\r\n",".em-blog-history {\r\n > .topbar {\r\n margin-bottom: 16px;\r\n }\r\n > .content {\r\n max-height: 300px;\r\n overflow-y: auto;\r\n }\r\n .ui.table {\r\n td a {\r\n cursor: pointer;\r\n }\r\n }\r\n}\r\n",".em-blog-left-sidebar {\r\n &.ui.left.sidebar {\r\n transition: left 0.15s ease-out 0s;\r\n @media only screen and (max-width: 767px) {\r\n z-index: 104;\r\n &.mobile-hide {\r\n // width: 0;\r\n left: -300px;\r\n }\r\n }\r\n width: 300px;\r\n top: 55px;\r\n left: 0;\r\n height: e(\"calc(100% - 55px)\")!important;\r\n background-color: #f5f5f5;\r\n box-shadow: none!important;\r\n overflow-x: hidden;\r\n .tms-body {\r\n .ui.space.list {\r\n padding: 16px;\r\n padding-left: 15px;\r\n margin-bottom: 0px;\r\n padding-bottom: 8px;\r\n > .item {\r\n position: relative;\r\n &:hover {\r\n box-shadow: 0px 0px 2px -1px #5791cb;\r\n > .actions {\r\n display: inline-block;\r\n }\r\n }\r\n > .icon {\r\n padding-right: 0;\r\n position: relative;\r\n top: -1px;\r\n }\r\n > .content {\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n max-width: 245px;\r\n }\r\n > .actions {\r\n display: none;\r\n position: absolute;\r\n right: 0;\r\n top: -2px;\r\n }\r\n }\r\n .ui.bulleted.list {\r\n padding-left: 16px;\r\n > div.item {\r\n max-width: 220px;\r\n padding-top: 5px;\r\n padding-bottom: 5px;\r\n > a {\r\n display: block;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n min-width: 220px;\r\n }\r\n &:before {\r\n color: #999;\r\n }\r\n &.active {\r\n font-weight: bold;\r\n > a {\r\n color: black;\r\n }\r\n }\r\n &:hover {\r\n // box-shadow: 0px 0px 2px -1px #5791cb;\r\n background-color: rgba(232, 224, 224, 0.5);\r\n }\r\n &.aurelia-hide {\r\n display: none!important;\r\n }\r\n }\r\n }\r\n }\r\n .ui.bulleted.list.no-space {\r\n padding: 20px;\r\n margin-top: 0px;\r\n padding-top: 0px;\r\n > div.item {\r\n padding-top: 5px;\r\n padding-bottom: 5px;\r\n > a {\r\n display: block;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n min-width: 242px;\r\n }\r\n &:before {\r\n color: #999;\r\n }\r\n &.active {\r\n font-weight: bold;\r\n > a {\r\n color: black;\r\n }\r\n }\r\n &:hover {\r\n // box-shadow: 0px 0px 2px -1px #5791cb;\r\n background-color: rgba(232, 224, 224, 0.5);\r\n }\r\n }\r\n }\r\n height: e(\"calc(100% - 40px)\")!important;\r\n }\r\n .tms-footer {\r\n position: absolute;\r\n width: 100%;\r\n height: 40px;\r\n left: 0;\r\n bottom: 0;\r\n background-color: #efe4e4;\r\n .ui.menu {\r\n border: none;\r\n border-radius: 0;\r\n background-color: #e8e0e0;\r\n > .item {\r\n &.tms-search {\r\n position: relative;\r\n height: 40px;\r\n max-width: 207px;\r\n &:before {\r\n width: 0;\r\n }\r\n > .remove.icon {\r\n position: absolute;\r\n right: 5px;\r\n top: 13px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n",".em-blog-right-sidebar {\r\n width: 300px;\r\n background-color: #f5f5f5;\r\n position: fixed;\r\n top: 55px;\r\n right: -300px;\r\n height: e(\"calc(100% - 55px)\");\r\n transition: right 0.15s ease-out 0s;\r\n .right-sidebar-show & {\r\n right: 0;\r\n }\r\n .panel-blog-dir {\r\n padding: 16px;\r\n .wiki-dir-item {\r\n &.active {\r\n background-color: #e8e0e0;\r\n }\r\n }\r\n }\r\n}\r\n",".em-blog-save {}",".em-blog-share {\r\n &.ui.popup {\r\n max-width: 100%;\r\n width: 255px;\r\n .ui.input {\r\n width: 225px;\r\n }\r\n }\r\n &:after {\r\n content: '';\r\n clear: both;\r\n }\r\n .footer {\r\n margin-top: 16px;\r\n .btn-cancel {\r\n float: right;\r\n margin-top: 6px;\r\n margin-left: 8px;\r\n }\r\n }\r\n}\r\n",".em-blog-space-auth {\r\n > .ui.form {\r\n margin-bottom: 16px;\r\n }\r\n .tms-header {\r\n margin-bottom: 8px;\r\n }\r\n .ui.search .prompt {\r\n border-radius: .28571429rem;\r\n }\r\n}\r\n",".em-blog-space-create {\r\n &.ui.popup {\r\n .ui.form {\r\n width: 260px;\r\n }\r\n }\r\n}\r\n",".em-blog-space-edit {}",".em-blog-space-update {}",".em-blog-top-menu {\r\n &.ui.inverted.blue.menu {\r\n background-color: #205081;\r\n height: 55px;\r\n z-index: 103;\r\n .item {\r\n &.tms-toggle {\r\n display: none;\r\n i.icon {\r\n margin-right: 0;\r\n }\r\n }\r\n &.tms-links {\r\n i.icon {\r\n margin-right: 0;\r\n }\r\n }\r\n }\r\n .right.menu {\r\n .item {\r\n .ui.icon.input {\r\n input {\r\n background-color: #103a65;\r\n color: white;\r\n &:focus {\r\n border-color: rgba(34, 36, 38, .15);\r\n box-shadow: none;\r\n }\r\n }\r\n i.icon.search:before {\r\n color: #a3aab0;\r\n }\r\n }\r\n .ui.search>.results {\r\n max-height: 350px;\r\n overflow-y: auto;\r\n left: -150px;\r\n }\r\n }\r\n }\r\n @media only screen and (max-width: 767px) {\r\n .item {\r\n &.tms-links {\r\n display: none;\r\n }\r\n &.tms-logo {\r\n display: none;\r\n }\r\n &.header {\r\n display: none;\r\n }\r\n &.tms-toggle {\r\n display: flex;\r\n }\r\n }\r\n .right.menu {\r\n .item {\r\n .ui.search {\r\n .ui.input {\r\n width: 100px;\r\n }\r\n }\r\n }\r\n }\r\n &.search-focus {\r\n .tms-logo {\r\n display: none;\r\n }\r\n .tms-create {\r\n display: none;\r\n }\r\n .right.menu {\r\n .item {\r\n .ui.search {\r\n .ui.input {\r\n width: initial;\r\n transition: width 0.15s ease-out 0s;\r\n }\r\n }\r\n }\r\n .tms-login-user {\r\n display: none;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","@top: 15px;\r\n.modaal-wrapper .modaal-close {\r\n @media only screen and (max-width: 827px) {\r\n top: initial!important;\r\n bottom: 10px;\r\n z-index: 2;\r\n }\r\n}\r\n\r\n.em-blog-write {\r\n margin-top: -30px;\r\n margin-bottom: 20px;\r\n > .wrapper {\r\n max-width: 768px;\r\n margin: auto;\r\n > .title {\r\n position: fixed;\r\n z-index: 2;\r\n margin-bottom: 8px;\r\n width: e(\"calc(100% - 60px)\");\r\n @media only screen and (min-width: 828px) {\r\n width: 768px;\r\n }\r\n background-color: white;\r\n padding-top: @top + 3px;\r\n box-shadow: 0px 1px 0px 0px #dddddd;\r\n > .ui.input {\r\n padding-right: 80px;\r\n }\r\n > .ui.button {\r\n position: absolute;\r\n right: 0;\r\n top: @top;\r\n }\r\n }\r\n > .content {\r\n padding-top: @top + 45px;\r\n .editor-toolbar {\r\n &.fullscreen {\r\n z-index: 800;\r\n }\r\n }\r\n }\r\n }\r\n .dropzone {\r\n .dropzone-previews {\r\n position: absolute;\r\n top: @top + 33px;\r\n width: 100%;\r\n .dz-preview {\r\n width: 100%;\r\n margin: 0;\r\n .dz-progress {\r\n height: 2px;\r\n background-color: #aaa;\r\n border: none;\r\n }\r\n .dz-remove {\r\n display: none;\r\n }\r\n }\r\n }\r\n position: relative;\r\n }\r\n .tms-blog-write-status-bar-wrapper {\r\n position: fixed;\r\n z-index: 800;\r\n height: 0;\r\n top: 120px;\r\n width: e(\"calc(100% - 60px)\");\r\n @media only screen and (min-width: 828px) {\r\n width: 768px;\r\n }\r\n .tms-blog-write-status-bar {\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n }\r\n }\r\n}\r\n",".em-chat-attach {\r\n &.ui.basic.segment {\r\n margin-bottom: 0;\r\n padding-top: 0;\r\n }\r\n .ui.basic.button {\r\n display: block;\r\n margin-right: 0;\r\n }\r\n .ui.list {\r\n .description {\r\n font-size: 12px;\r\n margin-top: 3px;\r\n }\r\n }\r\n &.ui.menu {\r\n \tmargin-top: 0;\r\n display: -webkit-box;\r\n display: -ms-flexbox;\r\n display: flex;\r\n > .item {\r\n -webkit-box-flex: 1;\r\n -ms-flex: 1;\r\n flex: 1;\r\n display: block!important;\r\n text-align: center;\r\n }\r\n }\r\n &.tms-attach-search-input {\r\n \tpadding: 0 10px;\r\n }\r\n}\r\n",".tms-em-chat-channel-create {\r\n .tms-join {\r\n max-height: 315px;\r\n overflow-y: auto;\r\n }\r\n .ui.form {\r\n > .field {\r\n > label {\r\n width: 35px!important;\r\n }\r\n }\r\n }\r\n}\r\n",".tms-em-chat-channel-link-mgr {\r\n .ui.form {\r\n .one.wide.field {\r\n @media only screen and (min-width: 768px) {\r\n padding: 0;\r\n }\r\n }\r\n }\r\n}\r\n",".tms-em-chat-channel-members-mgr {\r\n .ui.dropdown {\r\n span.owner + i.delete.icon {\r\n display: none;\r\n }\r\n span.disabled-user {\r\n text-decoration: line-through;\r\n font-style: italic;\r\n }\r\n }\r\n .member-table {\r\n max-height: 315px;\r\n overflow-y: auto;\r\n }\r\n}\r\n",".em-chat-channel-members-show {\r\n max-height: 300px;\r\n overflow-y: auto;\r\n}\r\n",".em-chat-content-item-footbar {\r\n margin-top: 8px;\r\n padding-top: 8px;\r\n padding-left: 50px;\r\n .add-btn {\r\n display: none;\r\n color: rgb(88, 96, 105);\r\n &.none {\r\n position: absolute;\r\n bottom: 0;\r\n }\r\n }\r\n .add-emoji-btn {\r\n &.none {\r\n left: 8px;\r\n }\r\n }\r\n .add-tag-btn {\r\n &.none {\r\n left: 45px;\r\n }\r\n }\r\n > .ui.label {\r\n cursor: pointer;\r\n }\r\n .emoji-item {\r\n margin-right: 8px;\r\n img {\r\n cursor: pointer;\r\n }\r\n &:last-child {\r\n margin-right: 0;\r\n }\r\n }\r\n .ui.popup.tags {\r\n > .content {\r\n width: 265px;\r\n > .ui.input {\r\n width: 20px;\r\n }\r\n }\r\n &.customTag {\r\n > .content {\r\n > .ui.label {\r\n display: none;\r\n }\r\n > .ui.input {\r\n width: 265px;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n",".em-chat-content-item {\r\n .textcomplete-container {\r\n position: relative;\r\n .append-to {\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n }\r\n }\r\n .ui.comments &.comment {\r\n >.avatar~.content {\r\n margin-left: 3em;\r\n }\r\n .actions {\r\n > a {\r\n margin-right: 5px;\r\n }\r\n .dropdown {\r\n > a .ellipsis.icon {\r\n margin-right: 0;\r\n }\r\n .item.tms-red {\r\n color: red;\r\n }\r\n }\r\n }\r\n &:hover {\r\n .tools {\r\n display: block;\r\n }\r\n &:before {\r\n width: 4px;\r\n }\r\n .em-chat-content-item-footbar {\r\n .add-btn {\r\n display: inline-block;\r\n }\r\n }\r\n }\r\n &.active {\r\n &:before {\r\n width: 4px;\r\n }\r\n }\r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n z-index: -1;\r\n top: 0;\r\n left: 0;\r\n bottom: 0;\r\n background: #2098D1;\r\n width: 0;\r\n -webkit-transition-property: width;\r\n transition-property: width;\r\n -webkit-transition-duration: 0.3s;\r\n transition-duration: 0.3s;\r\n -webkit-transition-timing-function: ease-out;\r\n transition-timing-function: ease-out;\r\n }\r\n }\r\n > .content {\r\n > .metadata > .rating {\r\n @media only screen and (max-width: 767px) {\r\n display: none!important;\r\n }\r\n }\r\n > .markdown-body {\r\n span.at-user {\r\n cursor: pointer;\r\n }\r\n img {\r\n @media only screen and (min-width: 768px) {\r\n max-width: 360px;\r\n max-height: 360px;\r\n }\r\n }\r\n }\r\n > .tools {\r\n position: absolute;\r\n right: 0;\r\n bottom: 0;\r\n display: none;\r\n > .ui.button {\r\n margin: 0;\r\n background-color: rgba(224, 225, 226, 0.5);\r\n &:hover {\r\n background-color: rgba(224, 225, 226, 1);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n",".tms-em-chat-input {\r\n &.ui.segment {\r\n margin: 0;\r\n position: fixed;\r\n bottom: 0;\r\n left: 220px;\r\n right: 0;\r\n background-color: white;\r\n padding-bottom: 22px;\r\n @media only screen and (max-width: 767px) {\r\n left: 0;\r\n }\r\n .tms-chat-status-bar {\r\n .dz-preview {\r\n display: block!important;\r\n width: auto!important;\r\n background: #e0e1e2;\r\n margin: 0;\r\n padding: 7px;\r\n }\r\n }\r\n .ui[class*=\"left action\"].input>textarea {\r\n border-top-left-radius: 0!important;\r\n border-bottom-left-radius: 0!important;\r\n border-left-color: transparent!important;\r\n }\r\n .textareaWrapper {\r\n width: calc(~\"100% - 35px\");\r\n border: 1px solid rgba(34, 36, 38, .15);\r\n border-top-right-radius: .28571429rem;\r\n border-bottom-right-radius: .28571429rem;\r\n .CodeMirror,\r\n .CodeMirror-scroll {\r\n min-height: 0;\r\n border: none;\r\n border-top-right-radius: .28571429rem;\r\n }\r\n .CodeMirror-scroll {\r\n max-height: 300px;\r\n }\r\n }\r\n .ui.input {\r\n margin-right: 5px;\r\n i.send.icon {\r\n z-index: 1;\r\n right: 7px!important;\r\n }\r\n textarea {\r\n resize: none;\r\n width: 100%;\r\n padding-right: 2.67142857em!important;\r\n margin: 0;\r\n max-width: 100%;\r\n outline: 0;\r\n -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\r\n text-align: left;\r\n display: block;\r\n padding: .67861429em 1em;\r\n background: #FFF;\r\n border: none;\r\n color: rgba(0, 0, 0, .87);\r\n box-shadow: none;\r\n border-top-right-radius: .28571429rem;\r\n border-bottom-right-radius: .28571429rem;\r\n }\r\n }\r\n }\r\n .CodeMirror-lines {\r\n margin-right: 30px;\r\n }\r\n .ui.vertical.menu.popup {\r\n width: 145px;\r\n a.item {\r\n > i.icon {\r\n float: left;\r\n margin: 0 .35714286em 0 0;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.tms-chat-direct {\r\n .tms-content {\r\n &.tms-sidebar-show {\r\n @media only screen and (min-width: 768px) {\r\n .tms-em-chat-input {\r\n right: 392px;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.textcomplete-dropdown {\r\n position: static!important;\r\n border: 1px solid #ddd;\r\n background-color: white;\r\n list-style: none;\r\n padding: 0;\r\n margin: 0;\r\n border-radius: 5px;\r\n li {\r\n /* border-top: 1px solid #ddd; */\r\n padding: 2px 5px;\r\n }\r\n li:first-child {\r\n border-top: none;\r\n border-top-left-radius: 5px;\r\n border-top-right-radius: 5px;\r\n }\r\n li:last-child {\r\n border-bottom-left-radius: 5px;\r\n border-bottom-right-radius: 5px;\r\n }\r\n li:hover,\r\n .active {\r\n background-color: rgb(67, 159, 224);\r\n }\r\n a:hover {\r\n cursor: pointer;\r\n }\r\n li.textcomplete-item {\r\n a {\r\n color: black;\r\n }\r\n &:hover a,\r\n &.active a {\r\n color: white;\r\n }\r\n }\r\n}\r\n\r\n.tms-chat-input-help-meta {\r\n position: absolute;\r\n bottom: 0;\r\n left: 60px;\r\n font-size: 12px;\r\n color: lightgray;\r\n}\r\n",".tms-chat-member-popup {\r\n .ui.cards {\r\n margin-top: 0!important;\r\n .card {\r\n margin-top: 0!important;\r\n .ui.list >.item {\r\n border-radius: 0!important;\r\n }\r\n }\r\n }\r\n}\r\n",".em-chat-msg {\r\n .ui.comments .comment .actions a {\r\n margin-right: 5px;\r\n }\r\n}\r\n",".em-chat-schedule-edit {\r\n // width: 320px!important;\r\n // margin-left: -160px!important;\r\n .ui.form {\r\n width: 300px;\r\n .ui.calendar {\r\n width: 200px;\r\n }\r\n .tms-date-field {\r\n position: relative;\r\n .ui.button {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n }\r\n }\r\n .ui.dropdown {\r\n width: 265px!important;\r\n min-height: 30px;\r\n > a.ui.label {\r\n > input.owner + i.delete.icon {\r\n display: none;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.tms-schedule-edit-target {\r\n display: inline-block;\r\n width: 1px;\r\n height: 1px;\r\n position: absolute;\r\n right: 188px;\r\n top: 30px;\r\n}\r\n",".em-chat-schedule-remind {\r\n .ui.table {\r\n tr > td:first-child {\r\n font-weight: bold;\r\n }\r\n }\r\n}\r\n",".em-chat-schedule {\r\n position: relative;\r\n height: 100%;\r\n .tms-add {\r\n position: absolute;\r\n right: 170px;\r\n top: 0;\r\n }\r\n .ui.form {\r\n width: 300px;\r\n .ui.calendar {\r\n width: 200px;\r\n }\r\n .tms-date-field {\r\n position: relative;\r\n .ui.button {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n }\r\n }\r\n .ui.dropdown {\r\n width: 265px!important;\r\n min-height: auto;\r\n > a.ui.label {\r\n > input.owner + i.delete.icon {\r\n display: none;\r\n }\r\n }\r\n }\r\n }\r\n}",".em-chat-share {\r\n &.ui.popup {\r\n max-width: 100%;\r\n width: 255px;\r\n .ui.input {\r\n width: 225px;\r\n }\r\n textarea {\r\n width: 195px!important;\r\n }\r\n .ui.search>.results .result {\r\n cursor: pointer!important;\r\n display: block!important;\r\n color: rgba(0, 0, 0, .87)!important;\r\n border-bottom: 1px solid rgba(34, 36, 38, .1)!important;\r\n margin: 0!important;\r\n }\r\n .ui.list {\r\n > .item {\r\n color: rgba(0, 0, 0, .87);\r\n }\r\n }\r\n }\r\n &:after {\r\n content: '';\r\n clear: both;\r\n }\r\n .footer {\r\n margin-top: 16px;\r\n .btn-cancel {\r\n float: right;\r\n margin: 6px 0 0 8px!important;\r\n }\r\n }\r\n}\r\n",".tms-left-sidebar {\r\n overflow: hidden;\r\n .tms-body {\r\n position: absolute;\r\n top: 98px;\r\n width: 220px;\r\n height: e(\"calc(100% - 150px)\");\r\n overflow: hidden;\r\n padding-right: 2px;\r\n i.circular.icon {\r\n box-shadow: 0 0 0 .1em rgb(65, 131, 196) inset;\r\n }\r\n .title {\r\n position: relative;\r\n margin-left: 10px;\r\n .ui.header {\r\n display: inline-block;\r\n margin-top: 2px;\r\n margin-bottom: 0;\r\n }\r\n i.plus.icon {\r\n position: absolute;\r\n right: 10px;\r\n font-size: 12px;\r\n width: 12px!important;\r\n height: 12px!important;\r\n }\r\n }\r\n .ui.list {\r\n margin-top: 10px;\r\n padding-top: 5px;\r\n box-shadow: 0px -1px 1px -1px rgba(65, 131, 196, 0.5);\r\n > .item {\r\n padding-left: 16px;\r\n border-radius: 0;\r\n > .icon+.content {\r\n padding: 0;\r\n }\r\n &.active {\r\n background: rgba(0, 0, 0, 0.2);\r\n }\r\n &:hover {\r\n background: rgba(0, 0, 0, 0.1)!important;\r\n }\r\n &.disabled-user {\r\n text-decoration: line-through;\r\n font-style: italic;\r\n }\r\n }\r\n }\r\n .tms-name {\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n max-width: 160px;\r\n }\r\n .tms-users {}\r\n .tms-channels {\r\n .ui.list {\r\n a.item {\r\n position: relative;\r\n &:hover {\r\n .actions {\r\n display: inline-block;\r\n }\r\n }\r\n }\r\n }\r\n .actions {\r\n display: none;\r\n position: absolute;\r\n right: 10px;\r\n top: 5px;\r\n }\r\n }\r\n .scroll-element.scroll-y {\r\n background-color: #4d394b;\r\n }\r\n }\r\n &.ui.left.sidebar {\r\n background-color: #4d394b;\r\n width: 220px;\r\n * {\r\n color: #4183c4!important;\r\n }\r\n .tms-header {\r\n > input {\r\n background-color: transparent;\r\n border: 1px rgba(103, 104, 104, 0.5) solid;\r\n font-size: 12px;\r\n padding: 4px;\r\n width: 188px;\r\n outline: none;\r\n margin-top: 10px;\r\n border-radius: 2px;\r\n &::-webkit-input-placeholder {\r\n color: rgba(103, 104, 104, 0.5)!important;\r\n }\r\n &::-moz-placeholder {\r\n color: rgba(103, 104, 104, 0.5)!important;\r\n }\r\n &:-ms-input-placeholder {\r\n color: rgba(103, 104, 104, 0.5)!important;\r\n }\r\n &:focus {\r\n &::-webkit-input-placeholder {\r\n color: rgb(103, 104, 104)!important;\r\n }\r\n &::-moz-placeholder {\r\n color: rgb(103, 104, 104)!important;\r\n }\r\n &:-ms-input-placeholder {\r\n color: rgb(103, 104, 104)!important;\r\n }\r\n }\r\n }\r\n padding: 9px 16px;\r\n box-shadow: 0 1px 1px -1px rgb(65, 131, 196);\r\n h1.ui.header {\r\n margin: 0;\r\n img {\r\n width: 30px;\r\n height: 30px;\r\n margin: 0;\r\n }\r\n }\r\n i.close.icon {\r\n position: absolute;\r\n right: 16px;\r\n top: 60px;\r\n }\r\n }\r\n }\r\n .tms-footer {\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n .ui.menu {\r\n border-radius: 0;\r\n background-color: rgba(27, 28, 29, 0.2)!important;\r\n .dropdown.item .menu {\r\n border-radius: 0;\r\n }\r\n .item {\r\n font-size: 12px!important;\r\n }\r\n .item:before {\r\n width: 0;\r\n }\r\n .ui.button.item {\r\n width: 140px;\r\n margin-right: 0;\r\n padding-left: 0;\r\n .visible.content {\r\n margin-right: 0;\r\n width: 100%;\r\n }\r\n }\r\n .right.menu {\r\n .ui.dropdown {\r\n .menu {\r\n .header {\r\n min-width: 150px;\r\n position: relative;\r\n .plus.icon {\r\n position: absolute;\r\n right: 0;\r\n top: -7px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n",".em-chat-sidebar-right {\r\n .panel-wiki-dir {\r\n \theight: 100%;\r\n padding-left: 15px;\r\n overflow-y: auto;\r\n }\r\n .panel-chat-schedule {\r\n \theight: e(\"calc(100% - 10px)\");\r\n \toverflow: hidden;\r\n }\r\n}\r\n",".tms-em-chat-system-link-mgr {\r\n .ui.form {\r\n .one.wide.field {\r\n @media only screen and (min-width: 768px) {\r\n padding: 0;\r\n }\r\n }\r\n }\r\n}\r\n",".tms-em-chat-top-menu {\r\n &.ui.top.menu {\r\n padding-left: 220px;\r\n height: 60px;\r\n @media only screen and (max-width: 767px) {\r\n .tms-chat-at.tms-hide {\r\n display: none;\r\n }\r\n }\r\n .item.tms-item:before {\r\n display: none;\r\n }\r\n .right.menu {\r\n .item {\r\n &.tms-login-user {\r\n @media only screen and (max-width: 767px) {\r\n &.tms-hide {\r\n display: none;\r\n }\r\n }\r\n }\r\n &.tms-item {\r\n padding-left: 0;\r\n padding-right: 5px;\r\n @media only screen and (max-width: 767px) {\r\n &.tms-hide {\r\n display: none;\r\n }\r\n &.tms-mobile-hide {\r\n display: none;\r\n }\r\n }\r\n button {\r\n .ui.floating.label {\r\n top: 0;\r\n right: 0;\r\n left: auto;\r\n }\r\n }\r\n &.ui.dropdown {\r\n @media only screen and (max-width: 767px) {\r\n display: flex;\r\n }\r\n display: none;\r\n padding-left: 5px;\r\n margin-right: 5px;\r\n > i.icon {\r\n margin-left: 5px;\r\n }\r\n .menu {\r\n > .item {\r\n .ui.button {\r\n margin: 0;\r\n i.icon {\r\n margin: 0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n &.tms-search {\r\n @media only screen and (max-width: 767px) {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n }\r\n }\r\n }\r\n .ui.search {\r\n input {\r\n width: 95px;\r\n transition: width .15s ease-out 0s;\r\n }\r\n i.remove.icon {\r\n display: none;\r\n position: absolute;\r\n right: 0;\r\n left: auto;\r\n }\r\n }\r\n }\r\n @media only screen and (max-width: 767px) {\r\n padding-left: 0;\r\n }\r\n .ui.basic.button {\r\n box-shadow: none;\r\n }\r\n }\r\n > .tms-chat-at {\r\n &.ui.dropdown {\r\n @media only screen and (min-width: 768px) {\r\n min-width: 175px;\r\n padding-top: 0;\r\n padding-left: 13px;\r\n padding-bottom: 20px;\r\n &.item:before {\r\n width: 0;\r\n }\r\n }\r\n > .text {\r\n > .actions {\r\n display: none;\r\n }\r\n }\r\n > .tms-metadata {\r\n position: absolute;\r\n display: flex;\r\n top: 35px;\r\n font-size: 12px;\r\n left: 0;\r\n height: 15px;\r\n .item {\r\n &:before {\r\n top: 5px;\r\n height: 50%;\r\n }\r\n &.tms-channel-info:before {\r\n width: 0;\r\n }\r\n &.tms-user-info:before {\r\n width: 0;\r\n }\r\n }\r\n @media only screen and (max-width: 767px) {\r\n display: none;\r\n }\r\n .tms-channel-links {\r\n .menu {\r\n .header {\r\n min-width: 200px;\r\n }\r\n }\r\n }\r\n }\r\n @media only screen and (max-width: 767px) {\r\n > .text {\r\n display: none;\r\n }\r\n > .dropdown.icon {\r\n margin-left: 6px;\r\n margin-right: 6px;\r\n }\r\n }\r\n .menu {\r\n > .header {\r\n i.plus.icon {\r\n position: absolute;\r\n right: 5px;\r\n top: 7px;\r\n }\r\n }\r\n > .item {\r\n &:hover {\r\n .actions {\r\n display: inline-block;\r\n }\r\n }\r\n .icon {\r\n margin-right: 4px!important;\r\n }\r\n > .actions {\r\n display: none;\r\n position: absolute;\r\n right: 5px;\r\n top: 10px;\r\n .large.ellipsis.horizontal.icon {\r\n font-size: 1.3em!important;\r\n }\r\n }\r\n &.disabled-user {\r\n text-decoration: line-through;\r\n font-style: italic;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n",".em-checkbox {}",".tms-em-hotkeys-modal {\r\n ul {\r\n padding-left: 30px;\r\n }\r\n ul.no_bullets {\r\n margin: 0 0 2rem;\r\n }\r\n ul.no_bullets li {\r\n line-height: 2rem;\r\n list-style-type: none;\r\n padding: 0;\r\n font-size: 1rem;\r\n font-weight: 700;\r\n }\r\n &>.content {\r\n background-color: rgba(11, 7, 11, 0.78)!important;\r\n }\r\n .keyboard i.icon {\r\n margin-right: 0px!important;\r\n }\r\n .subtle_silver {\r\n color: #9e9ea6!important;\r\n }\r\n .ui.grid .column {\r\n padding: 0!important;\r\n }\r\n}\r\n",".em-user-avatar {\r\n &.avatar.ui.mini.circular.image {\r\n width: 35px;\r\n height: 35px;\r\n font-size: 35px;\r\n background-color: rgba(150, 178, 183, 0.4);\r\n text-align: center;\r\n margin: 0;\r\n padding-right: 0;\r\n }\r\n .text-char {\r\n display: inline-block;\r\n height: 35px;\r\n line-height: 35px;\r\n vertical-align: top;\r\n }\r\n}\r\n",".tms-em-user-edit {\r\n .ui.form {\r\n .field {\r\n > label {\r\n width: 45px!important;\r\n }\r\n .user-username {\r\n margin-left: 0;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.em-user-edit-modal {\r\n /* Tablet & PC */\r\n @media only screen and (min-width: 768px) {\r\n width: 500px!important;\r\n margin-left: -250px!important;\r\n }\r\n}\r\n"],"sourceRoot":"../src"}
\ No newline at end of file
diff --git a/scripts/deps-bundle.js b/scripts/deps-bundle.js
index 2ac6b0f65952b0bf675b1b8924f793ef22df60e4..3741a96937d11cd324869492bff3627d5b64f58f 100644
--- a/scripts/deps-bundle.js
+++ b/scripts/deps-bundle.js
@@ -1286,7 +1286,7 @@ if (typeof module !== 'undefined' && typeof exports === 'object') {
}());
/*!
- Autosize 3.0.17
+ Autosize 3.0.19
license: MIT
http://www.jacklmoore.com/autosize
*/
@@ -1305,23 +1305,35 @@ if (typeof module !== 'undefined' && typeof exports === 'object') {
})(this, function (exports, module) {
'use strict';
- var set = typeof Set === 'function' ? new Set() : (function () {
- var list = [];
+ var map = typeof Map === "function" ? new Map() : (function () {
+ var keys = [];
+ var values = [];
return {
has: function has(key) {
- return Boolean(list.indexOf(key) > -1);
+ return keys.indexOf(key) > -1;
},
- add: function add(key) {
- list.push(key);
+ get: function get(key) {
+ return values[keys.indexOf(key)];
+ },
+ set: function set(key, value) {
+ if (keys.indexOf(key) === -1) {
+ keys.push(key);
+ values.push(value);
+ }
},
'delete': function _delete(key) {
- list.splice(list.indexOf(key), 1);
- } };
+ var index = keys.indexOf(key);
+ if (index > -1) {
+ keys.splice(index, 1);
+ values.splice(index, 1);
+ }
+ }
+ };
})();
var createEvent = function createEvent(name) {
- return new Event(name);
+ return new Event(name, { bubbles: true });
};
try {
new Event('test');
@@ -1335,7 +1347,7 @@ if (typeof module !== 'undefined' && typeof exports === 'object') {
}
function assign(ta) {
- if (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || set.has(ta)) return;
+ if (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || map.has(ta)) return;
var heightOffset = null;
var clientWidth = ta.clientWidth;
@@ -1389,7 +1401,8 @@ if (typeof module !== 'undefined' && typeof exports === 'object') {
if (el.parentNode.scrollTop) {
arr.push({
node: el.parentNode,
- scrollTop: el.parentNode.scrollTop });
+ scrollTop: el.parentNode.scrollTop
+ });
}
el = el.parentNode;
}
@@ -1450,7 +1463,12 @@ if (typeof module !== 'undefined' && typeof exports === 'object') {
if (cachedHeight !== computedHeight) {
cachedHeight = computedHeight;
var evt = createEvent('autosize:resized');
- ta.dispatchEvent(evt);
+ try {
+ ta.dispatchEvent(evt);
+ } catch (err) {
+ // Firefox will throw an error on dispatchEvent for a detached element
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=889376
+ }
}
}
@@ -1466,17 +1484,19 @@ if (typeof module !== 'undefined' && typeof exports === 'object') {
ta.removeEventListener('keyup', update, false);
ta.removeEventListener('autosize:destroy', destroy, false);
ta.removeEventListener('autosize:update', update, false);
- set['delete'](ta);
Object.keys(style).forEach(function (key) {
ta.style[key] = style[key];
});
+
+ map['delete'](ta);
}).bind(ta, {
height: ta.style.height,
resize: ta.style.resize,
overflowY: ta.style.overflowY,
overflowX: ta.style.overflowX,
- wordWrap: ta.style.wordWrap });
+ wordWrap: ta.style.wordWrap
+ });
ta.addEventListener('autosize:destroy', destroy, false);
@@ -1490,23 +1510,29 @@ if (typeof module !== 'undefined' && typeof exports === 'object') {
window.addEventListener('resize', pageResize, false);
ta.addEventListener('input', update, false);
ta.addEventListener('autosize:update', update, false);
- set.add(ta);
ta.style.overflowX = 'hidden';
ta.style.wordWrap = 'break-word';
+ map.set(ta, {
+ destroy: destroy,
+ update: update
+ });
+
init();
}
function destroy(ta) {
- if (!(ta && ta.nodeName && ta.nodeName === 'TEXTAREA')) return;
- var evt = createEvent('autosize:destroy');
- ta.dispatchEvent(evt);
+ var methods = map.get(ta);
+ if (methods) {
+ methods.destroy();
+ }
}
function update(ta) {
- if (!(ta && ta.nodeName && ta.nodeName === 'TEXTAREA')) return;
- var evt = createEvent('autosize:update');
- ta.dispatchEvent(evt);
+ var methods = map.get(ta);
+ if (methods) {
+ methods.update();
+ }
}
var autosize = null;
@@ -6202,14 +6228,14 @@ module.exports = ColorHash;
(function(global,factory){"use strict";if(typeof define==="function"&&define.amd){define('push/push.min',[],function(){return new(factory(global,global.document))})}else if(typeof module!=="undefined"&&module.exports){module.exports=new(factory(global,global.document))}else{global.Push=new(factory(global,global.document))}})(typeof window!=="undefined"?window:this,function(w,d){var Push=function(){var self=this,isUndefined=function(obj){return obj===undefined},isString=function(obj){return String(obj)===obj},isFunction=function(obj){return obj&&{}.toString.call(obj)==="[object Function]"},currentId=0,incompatibilityErrorMessage="PushError: push.js is incompatible with browser.",hasPermission=false,notifications={},lastWorkerPath=null,closeNotification=function(id){var errored=false,notification=notifications[id];if(typeof notification!=="undefined"){if(notification.close){notification.close()}else if(notification.cancel){notification.cancel()}else if(w.external&&w.external.msIsSiteMode){w.external.msSiteModeClearIconOverlay()}else{errored=true;throw new Error("Unable to close notification: unknown interface")}if(!errored){return removeNotification(id)}}return false},addNotification=function(notification){var id=currentId;notifications[id]=notification;currentId++;return id},removeNotification=function(id){var dict={},success=false,key;for(key in notifications){if(notifications.hasOwnProperty(key)){if(key!=id){dict[key]=notifications[key]}else{success=true}}}notifications=dict;return success},createCallback=function(title,options){var notification,wrapper,id,onClose;options=options||{};self.lastWorkerPath=options.serviceWorker||"sw.js";if(w.Notification){try{notification=new w.Notification(title,{icon:isString(options.icon)||isUndefined(options.icon)?options.icon:options.icon.x32,body:options.body,tag:options.tag,requireInteraction:options.requireInteraction})}catch(e){if(w.navigator){w.navigator.serviceWorker.register(options.serviceWorker||"sw.js");w.navigator.serviceWorker.ready.then(function(registration){registration.showNotification(title,{body:options.body,vibrate:options.vibrate,tag:options.tag,requireInteraction:options.requireInteraction})})}}}else if(w.webkitNotifications){notification=w.webkitNotifications.createNotification(options.icon,title,options.body);notification.show()}else if(navigator.mozNotification){notification=navigator.mozNotification.createNotification(title,options.body,options.icon);notification.show()}else if(w.external&&w.external.msIsSiteMode()){w.external.msSiteModeClearIconOverlay();w.external.msSiteModeSetIconOverlay(isString(options.icon)||isUndefined(options.icon)?options.icon:options.icon.x16,title);w.external.msSiteModeActivate();notification={}}else{throw new Error("Unable to create notification: unknown interface")}id=addNotification(notification);wrapper={get:function(){return notification},close:function(){closeNotification(id)}};if(options.timeout){setTimeout(function(){wrapper.close()},options.timeout)}if(isFunction(options.onShow))notification.addEventListener("show",options.onShow);if(isFunction(options.onError))notification.addEventListener("error",options.onError);if(isFunction(options.onClick))notification.addEventListener("click",options.onClick);onClose=function(){removeNotification(id);if(isFunction(options.onClose)){options.onClose.call(this)}};notification.addEventListener("close",onClose);notification.addEventListener("cancel",onClose);return wrapper},Permission={DEFAULT:"default",GRANTED:"granted",DENIED:"denied"},Permissions=[Permission.GRANTED,Permission.DEFAULT,Permission.DENIED];self.Permission=Permission;self.Permission.request=function(onGranted,onDenied){if(!self.isSupported){throw new Error(incompatibilityErrorMessage)}callback=function(result){switch(result){case self.Permission.GRANTED:hasPermission=true;if(onGranted)onGranted();break;case self.Permission.DENIED:hasPermission=false;if(onDenied)onDenied();break}};if(w.Notification&&w.Notification.requestPermission){Notification.requestPermission(callback)}else if(w.webkitNotifications&&w.webkitNotifications.checkPermission){w.webkitNotifications.requestPermission(callback)}else{throw new Error(incompatibilityErrorMessage)}};self.Permission.has=function(){return hasPermission};self.Permission.get=function(){var permission;if(!self.isSupported){throw new Error(incompatibilityErrorMessage)}if(w.Notification&&w.Notification.permissionLevel){permission=w.Notification.permissionLevel}else if(w.webkitNotifications&&w.webkitNotifications.checkPermission){permission=Permissions[w.webkitNotifications.checkPermission()]}else if(w.Notification&&w.Notification.permission){permission=w.Notification.permission}else if(navigator.mozNotification){permission=Permissions.GRANTED}else if(w.external&&w.external.msIsSiteMode()!==undefined){permission=w.external.msIsSiteMode()?Permission.GRANTED:Permission.DEFAULT}else{throw new Error(incompatibilityErrorMessage)}return permission};self.isSupported=function(){var isSupported=false;try{isSupported=!!(w.Notification||w.webkitNotifications||navigator.mozNotification||w.external&&w.external.msIsSiteMode()!==undefined)}catch(e){}return isSupported}();self.create=function(title,options){if(!self.isSupported){throw new Error(incompatibilityErrorMessage)}if(!isString(title)){throw new Error("PushError: Title of notification must be a string")}if(!self.Permission.has()){return new Promise(function(resolve,reject){self.Permission.request(function(){try{resolve(createCallback(title,options))}catch(e){reject(e)}},function(){reject("Permission request declined")})})}else{return new Promise(function(resolve,reject){try{resolve(createCallback(title,options))}catch(e){reject(e)}})}};self.count=function(){var count=0,key;for(key in notifications){count++}return count},self.__lastWorkerPath=function(){return self.lastWorkerPath},self.close=function(tag){var key;for(key in notifications){notification=notifications[key];if(notification.tag===tag){return closeNotification(key)}}};self.clear=function(){var i,success=true;for(key in notifications){var didClose=closeNotification(key);success=success&&didClose}return success}};return Push});;define('push', ['push/push.min'], function (main) { return main; });
/*!
- * clipboard.js v1.5.12
+ * clipboard.js v1.5.15
* https://zenorocha.github.io/clipboard.js
*
* Licensed MIT © Zeno Rocha
*/
-!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define('clipboard/dist/clipboard.min',[],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Clipboard=t()}}(function(){var t,e,n;return function t(e,n,o){function i(a,c){if(!n[a]){if(!e[a]){var s="function"==typeof require&&require;if(!c&&s)return s(a,!0);if(r)return r(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var u=n[a]={exports:{}};e[a][0].call(u.exports,function(t){var n=e[a][1][t];return i(n?n:t)},u,u.exports,t,e,n,o)}return n[a].exports}for(var r="function"==typeof require&&require,a=0;a(0===i?9:1)&&(i+=1),d[n](t,i)[agoin].replace("%s",t)}function r(e,n){return n=n?t(n):new Date,(n-t(e))/1e3}function i(t){for(var e=1,n=0,r=Math.abs(t);t>=l[n]&&n
1&&(n+="s"),[t+" "+n+" ago","in "+t+" "+n]},zh_CN:function(t,e){if(0===e)return["刚刚","片刻后"];var n=s[parseInt(e/2)];return[t+n+"前",t+n+"后"]}},l=[60,60,24,7,365/7/12,12],p=6,h="datetime";return u.register=function(t,e){d[t]=e},u}); +!function(t,e){"object"==typeof module&&module.exports?module.exports=e(t):t.timeago=e(t)}("undefined"!=typeof window?window:this,function(){function t(t){return t instanceof Date?t:isNaN(t)?/^\d+$/.test(t)?new Date(e(t)):(t=(t||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/T/," ").replace(/Z/," UTC").replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"),new Date(t)):new Date(e(t))}function e(t){return parseInt(t)}function n(t,n,r){n=d[n]?n:d[r]?r:"en";var i=0,o=t<0?1:0;for(t=Math.abs(t);t>=l[i]&&i
(0===i?9:1)&&(i+=1),d[n](t,i)[o].replace("%s",t)}function r(e,n){return n=n?t(n):new Date,(n-t(e))/1e3}function i(t){for(var e=1,n=0,r=Math.abs(t);t>=l[n]&&n
1&&(n+="s"),[t+" "+n+" ago","in "+t+" "+n]},zh_CN:function(t,e){if(0===e)return["刚刚","片刻后"];var n=s[parseInt(e/2)];return[t+n+"前",t+n+"后"]}},l=[60,60,24,7,365/7/12,12],p=6,h="datetime";return u.register=function(t,e){d[t]=e},u});
define("timeago/dist/timeago.min", [],function(){});
;define('timeago', ['timeago/dist/timeago.min'], function (main) { return main; });
@@ -8008,7 +8034,7 @@ header:o[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:o[2].replace(/^ *|\
}(navigator.userAgent||navigator.vendor||window.opera),e},V="",K={bold:{name:"bold",action:c,className:"fa fa-bold",title:"Bold","default":!0},italic:{name:"italic",action:u,className:"fa fa-italic",title:"Italic","default":!0},strikethrough:{name:"strikethrough",action:f,className:"fa fa-strikethrough",title:"Strikethrough"},heading:{name:"heading",action:p,className:"fa fa-header",title:"Heading","default":!0},"heading-smaller":{name:"heading-smaller",action:p,className:"fa fa-header fa-header-x fa-header-smaller",title:"Smaller Heading"},"heading-bigger":{name:"heading-bigger",action:m,className:"fa fa-header fa-header-x fa-header-bigger",title:"Bigger Heading"},"heading-1":{name:"heading-1",action:g,className:"fa fa-header fa-header-x fa-header-1",title:"Big Heading"},"heading-2":{name:"heading-2",action:v,className:"fa fa-header fa-header-x fa-header-2",title:"Medium Heading"},"heading-3":{name:"heading-3",action:y,className:"fa fa-header fa-header-x fa-header-3",title:"Small Heading"},"separator-1":{name:"separator-1"},code:{name:"code",action:h,className:"fa fa-code",title:"Code"},quote:{name:"quote",action:d,className:"fa fa-quote-left",title:"Quote","default":!0},"unordered-list":{name:"unordered-list",action:x,className:"fa fa-list-ul",title:"Generic List","default":!0},"ordered-list":{name:"ordered-list",action:b,className:"fa fa-list-ol",title:"Numbered List","default":!0},"clean-block":{name:"clean-block",action:w,className:"fa fa-eraser fa-clean-block",title:"Clean block"},"separator-2":{name:"separator-2"},link:{name:"link",action:k,className:"fa fa-link",title:"Create Link","default":!0},image:{name:"image",action:S,className:"fa fa-picture-o",title:"Insert Image","default":!0},table:{name:"table",action:C,className:"fa fa-table",title:"Insert Table"},"horizontal-rule":{name:"horizontal-rule",action:L,className:"fa fa-minus",title:"Insert Horizontal Line"},"separator-3":{name:"separator-3"},preview:{name:"preview",action:A,className:"fa fa-eye no-disable",title:"Toggle Preview","default":!0},"side-by-side":{name:"side-by-side",action:N,className:"fa fa-columns no-disable no-mobile",title:"Toggle Side by Side","default":!0},fullscreen:{name:"fullscreen",action:s,className:"fa fa-arrows-alt no-disable no-mobile",title:"Toggle Fullscreen","default":!0},"separator-4":{name:"separator-4"},guide:{name:"guide",action:"https://simplemde.com/markdown-guide",className:"fa fa-question-circle",title:"Markdown Guide","default":!0},"separator-5":{name:"separator-5"},undo:{name:"undo",action:T,className:"fa fa-undo no-disable",title:"Undo"},redo:{name:"redo",action:M,className:"fa fa-repeat no-disable",title:"Redo"}},X={link:["[","](#url#)"],image:[""],table:["","\n\n| Column 1 | Column 2 | Column 3 |\n| -------- | -------- | -------- |\n| Text | Text | Text |\n\n"],horizontalRule:["","\n\n-----\n\n"]},Z={link:"URL for the link:",image:"URL of the image:"},J={bold:"**",code:"```",italic:"*"};B.prototype.markdown=function(e){if(j){var t={};return this.options&&this.options.renderingConfig&&this.options.renderingConfig.singleLineBreaks===!1?t.breaks=!1:t.breaks=!0,this.options&&this.options.renderingConfig&&this.options.renderingConfig.codeSyntaxHighlighting===!0&&window.hljs&&(t.highlight=function(e){return window.hljs.highlightAuto(e).value}),j.setOptions(t),j(e)}},B.prototype.render=function(e){if(e||(e=this.element||document.getElementsByTagName("textarea")[0]),!this._rendered||this._rendered!==e){this.element=e;var t=this.options,n=this,i={};for(var o in t.shortcuts)null!==t.shortcuts[o]&&null!==q[o]&&!function(e){i[r(t.shortcuts[e])]=function(){q[e](n)}}(o);i.Enter="newlineAndIndentContinueMarkdownList",i.Tab="tabAndIndentMarkdownList",i["Shift-Tab"]="shiftTabAndUnindentMarkdownList",i.Esc=function(e){e.getOption("fullScreen")&&s(n)},document.addEventListener("keydown",function(e){e=e||window.event,27==e.keyCode&&n.codemirror.getOption("fullScreen")&&s(n)},!1);var a,l;if(t.spellChecker!==!1?(a="spell-checker",l=t.parsingConfig,l.name="gfm",l.gitHubSpice=!1,z({codeMirrorInstance:F})):(a=t.parsingConfig,a.name="gfm",a.gitHubSpice=!1),this.codemirror=F.fromTextArea(e,{mode:a,backdrop:l,theme:"paper",tabSize:void 0!=t.tabSize?t.tabSize:2,indentUnit:void 0!=t.tabSize?t.tabSize:2,indentWithTabs:t.indentWithTabs!==!1,lineNumbers:!1,autofocus:t.autofocus===!0,extraKeys:i,lineWrapping:t.lineWrapping!==!1,allowDropFileTypes:["text/plain"],placeholder:t.placeholder||e.getAttribute("placeholder")||"",styleSelectedText:void 0!=t.styleSelectedText?t.styleSelectedText:!0}),t.forceSync===!0){var c=this.codemirror;c.on("change",function(){c.save()})}this.gui={},t.toolbar!==!1&&(this.gui.toolbar=this.createToolbar()),t.status!==!1&&(this.gui.statusbar=this.createStatusbar()),void 0!=t.autosave&&t.autosave.enabled===!0&&this.autosave(),this.gui.sideBySide=this.createSideBySide(),this._rendered=this.element;var u=this.codemirror;setTimeout(function(){u.refresh()}.bind(u),0)}},B.prototype.autosave=function(){if(_()){var e=this;if(void 0==this.options.autosave.uniqueId||""==this.options.autosave.uniqueId)return void console.log("SimpleMDE: You must set a uniqueId to use the autosave feature");null!=e.element.form&&void 0!=e.element.form&&e.element.form.addEventListener("submit",function(){localStorage.removeItem("smde_"+e.options.autosave.uniqueId)}),this.options.autosave.loaded!==!0&&("string"==typeof localStorage.getItem("smde_"+this.options.autosave.uniqueId)&&""!=localStorage.getItem("smde_"+this.options.autosave.uniqueId)&&(this.codemirror.setValue(localStorage.getItem("smde_"+this.options.autosave.uniqueId)),this.options.autosave.foundSavedValue=!0),this.options.autosave.loaded=!0),localStorage.setItem("smde_"+this.options.autosave.uniqueId,e.value());var t=document.getElementById("autosaved");if(null!=t&&void 0!=t&&""!=t){var n=new Date,r=n.getHours(),i=n.getMinutes(),o="am",a=r;a>=12&&(a=r-12,o="pm"),0==a&&(a=12),i=10>i?"0"+i:i,t.innerHTML="Autosaved: "+a+":"+i+" "+o}this.autosaveTimeoutId=setTimeout(function(){e.autosave()},this.options.autosave.delay||1e4)}else console.log("SimpleMDE: localStorage not available, cannot autosave")},B.prototype.clearAutosavedValue=function(){if(_()){if(void 0==this.options.autosave||void 0==this.options.autosave.uniqueId||""==this.options.autosave.uniqueId)return void console.log("SimpleMDE: You must set a uniqueId to clear the autosave value");localStorage.removeItem("smde_"+this.options.autosave.uniqueId)}else console.log("SimpleMDE: localStorage not available, cannot autosave")},B.prototype.createSideBySide=function(){var e=this.codemirror,t=e.getWrapperElement(),n=t.nextSibling;n&&/editor-preview-side/.test(n.className)||(n=document.createElement("div"),n.className="editor-preview-side",t.parentNode.insertBefore(n,t.nextSibling));var r=!1,i=!1;return e.on("scroll",function(e){if(r)return void(r=!1);i=!0;var t=e.getScrollInfo().height-e.getScrollInfo().clientHeight,o=parseFloat(e.getScrollInfo().top)/t,a=(n.scrollHeight-n.clientHeight)*o;n.scrollTop=a}),n.onscroll=function(){if(i)return void(i=!1);r=!0;var t=n.scrollHeight-n.clientHeight,o=parseFloat(n.scrollTop)/t,a=(e.getScrollInfo().height-e.getScrollInfo().clientHeight)*o;e.scrollTo(0,a)},n},B.prototype.createToolbar=function(e){if(e=e||this.options.toolbar,e&&0!==e.length){var t;for(t=0;t fred, barney, & pebbles
${comments.length > 0 ? comments.length + ' ' : ''}评论
\r\n