123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- 'use strict';
- var placeholder = '<span class="placeholder">{0}</span>';
- function ActiveChatBox(selector) {
-
- $('#main-chat .chat-single-box').removeClass('active');
- $(selector).addClass('active');
- }
- function removeBoxCollapseClass(selector) {
-
- if ($(selector).hasClass('collapsed')) {
- $(selector).removeClass('collapsed');
- }
- }
- function messageScroll() {
-
- setTimeout(function () {
- if ($('.messages div').length == 0) {
- return;
- }
- $('.message-scrooler').animate({
- scrollTop: $('.messages div:last').offset().top
- }, 0);
- }, 100);
- }
-
- function initialTooltip() {
-
- //tooltip
- $('[data-toggle="tooltip"]').tooltip({ delay: 50 });
- $('[data-toggle="tooltip"]').tooltip({ delay: 50 });
- }
-
- function initialTooltipSiderbarUserList() {
-
- $('[data-toggle="tooltip"]').tooltip({ delay: 50 });
- }
- function deinitialTooltipSiderbarUserList() {
-
- $('[data-toggle="tooltip"]').tooltip('dispose');
- }
-
- function stickersTab() {
-
- setTimeout(function () {
-
- $('.stickers ul.tabs').tabs();
- $('.stickers ul.tabs').css({ 'height': '55px' });
-
- }, 1);
- }
-
- function hideStickerBox() {
-
- $('#main-chat .chat-single-box .icons').removeClass('show');
- $('#main-chat .chat-single-box .icons').find('.smiles-set').removeAttr('style');
- }
- function hideMinimizedBox() {
-
- if ($('#main-chat .boxs .minimized').hasClass('show')) {
- $('#main-chat .boxs .minimized').removeClass('show');
- $('#main-chat .boxs .minimized').find('.dropdown').removeAttr('style');
- }
-
- }
- function NewMessage(dataId) {
-
- $('#main-chat .chat-box .boxs .chat-single-box').each(function () {
- if ($(this).data('id') == dataId) {
- $(this).addClass('new-message');
- }
- });
- }
- function generatePlaceholder() {
-
- setTimeout(function () {
- $("#main-chat .textarea").each(function () {
- $(this).html(placeholder.format($(this).data('placeholder')));
- });
- }, 10);
- }
-
- function sidebarClosed() {
-
- var windowWidth = $(window).width();
- if (windowWidth < 1100) {
-
- $('#main-chat').addClass('sidebar-closed');
- } else {
- $('#main-chat').removeClass('sidebar-closed');
- }
- }
- //string format function -- use 'hello {0}'.format('demo') -> result : 'hello demo'
- String.prototype.format = String.prototype.f = function () {
-
- var s = this,
- i = arguments.length;
-
- while (i--) {
- s = s.replace(new RegExp('\\{' + i + '\\}', 'gm'), arguments[i]);
- }
- return s;
- };
-
- $(document).on('click', '#main-chat .chat-single-box .smile-ico', function (e) {
-
- e.stopPropagation();
- hideMinimizedBox();
-
- _parent = $(this).parents('.icons');
-
- if (_parent.hasClass('show')) {
-
- hideStickerBox(_parent);
- } else {
-
- _bottom = parseInt(_parent.css('height').replace('px', ''), 0) + 10;
- _source = _parent.data('source');
- _parent.find('.smiles-set').html($('.' + _source).html());
-
- _parent.find('.smiles-set').css({
- 'bottom': _bottom,
- 'display': 'block'
- });
- _parent.addClass('show');
- stickersTab();
- }
- });
- $(document).on('click', '#main-chat .chat-single-box .stickers', function (e) {
-
- e.stopPropagation();
- });
- $(document).on('click', '#main-chat .preview-image', function () {
-
- preview = '<div class="preview-overlay"><div class="preview-placeholder"><img class="preview-image" src="{0}"/><div class="preview-caption">{1}</div></div></div>';
- imgSrc = $(this).attr('src');
- caption = $(this).data('caption');
-
- imgWidth = $(this).css('width');
- imgHeight = $(this).css('height');
-
- if ($('#main-chat').hasClass('preview-placeholder')) {
-
- return;
- }
- $('#main-chat').prepend(preview.format(imgSrc, caption));
- var origin = $('.preview-placeholder .preview-image');
-
- var windowWidth = window.innerWidth;
- var windowHeight = window.innerHeight;
- var originalWidth = origin.width();
- var originalHeight = origin.height();
-
- var ratio = 0;
- var widthPercent = originalWidth / windowWidth;
- var heightPercent = originalHeight / windowHeight;
- var newWidth = 0;
- var newHeight = 0;
-
- if (widthPercent > heightPercent) {
-
- ratio = originalHeight / originalWidth;
- newWidth = windowWidth * 0.9;
- newHeight = windowWidth * 0.9 * ratio;
- }
- else {
-
- ratio = originalWidth / originalHeight;
- newWidth = (windowHeight * 0.9) * ratio;
- newHeight = windowHeight * 0.9;
- }
-
- var _left = $(document).scrollLeft() + windowWidth / 2 - origin.parent('.preview-placeholder').offset().left - newWidth / 2;
- var _top = $(document).scrollTop() + windowHeight / 2 - origin.parent('.preview-placeholder').offset().top - newHeight / 2;
-
-
- $('.preview-placeholder').css({
-
- 'max-width': newWidth,
- 'width': originalWidth,
- 'top': _top
- });
-
-
- $('.preview-caption').css({
-
- 'top': (newHeight )
- });
-
- });
- $(document).on('click', '#main-chat .preview-overlay:not(".preview-placeholder")', function () {
-
- $('.preview-overlay').remove();
- });
- $(document).on('click', '#main-chat .chat-single-box .stickers .tab-content li', function () {
-
-
- _sendMsg = $(this).parents('.chat-footer').find('.send-message div');
- //_src = $(this).find('img').attr('src');
- _img = $(this).html();
- if ($(this).parents('.chat-footer').find('.send-message div').html() == '<span class="placeholder">{0}</span>'.format(_sendMsg.data('placeholder'))) {
- _sendMsg.html(_img);
- } else {
- _str = _sendMsg.html();
- //_sendMsg.html(_str + ' ' + '<div class="send-sticker" style="background-image:url({0})"></div>'.format(_src));
- _sendMsg.html(_str + ' ' + _img);
- }
- });
-
- $(document).on('click', '#main-chat #paper-btn', function (e) {
-
- var _box_message = $(this).parents('.chat-single-box').find('.messages');
-
- var text= $($(e.currentTarget).parent().parent().parent()).find(".input-value").val();
- _box_message.append('<div class="message out no-avatar media">' +
- '<div class="body media-body text-right p-l-50"><div class="content msg-reply f-12 bg-primary d-inline-block">'+ text +'</div><div class="seen"><i class="icon-clock f-12 m-r-5 txt-muted d-inline-block"></i><span><p class="d-inline-block">a few seconds ago </p></span><div class="clear"></div> </div></div>' +
- ' <div class="sender media-right friend-box"><a href="javascript:void(0);" title="Me"><img src="assets/images/avatar-1.jpg" class=" img-chat-profile" alt="Me"></a> </div>' +
- '</div>');
-
- hideStickerBox();
- messageScroll();
-
- $($(e.currentTarget).parent().parent().parent()).find(".input-value").val('');
- return false;
-
- });
-
- $(document).on('click',function () {
-
- hideStickerBox();
- hideMinimizedBox();
- });
|