From ef3fc51e53361cf71a0fa6e9c5fa7e65a7c66821 Mon Sep 17 00:00:00 2001 From: Igor Zhukov Date: Tue, 25 Mar 2014 18:39:17 +0400 Subject: [PATCH] Performance improvements --- app/css/app.css | 4 + app/index.html | 1 + app/js/app.js | 1 + app/js/directives.js | 5 +- app/js/services.js | 4 +- app/partials/chat_modal.html | 2 +- app/partials/dialog.html | 32 ++- app/partials/head.html | 4 +- app/partials/im.html | 59 +++--- app/partials/message.html | 62 +++--- app/partials/settings_modal.html | 2 +- app/vendor/bindonce/bindonce.js | 321 +++++++++++++++++++++++++++++++ 12 files changed, 412 insertions(+), 85 deletions(-) create mode 100644 app/vendor/bindonce/bindonce.js diff --git a/app/css/app.css b/app/css/app.css index 2cbd7676..689e5522 100644 --- a/app/css/app.css +++ b/app/css/app.css @@ -1413,6 +1413,10 @@ span.emoji { font-size: 1.5em; padding: 0 50px; } +.im_history_to_bottom .im_history_not_selected, +.im_history_to_bottom .im_history_empty { + display: none; +} .im_send_panel_wrap { max-width: 526px; diff --git a/app/index.html b/app/index.html index d1ffecab..c8c26a16 100644 --- a/app/index.html +++ b/app/index.html @@ -36,6 +36,7 @@ + diff --git a/app/js/app.js b/app/js/app.js index 9fd79c00..31a38e29 100644 --- a/app/js/app.js +++ b/app/js/app.js @@ -30,6 +30,7 @@ angular.module('myApp', [ 'ngAnimate', 'ngSanitize', 'ui.bootstrap', + 'pasvaz.bindonce', 'mtproto.services', 'myApp.filters', 'myApp.services', diff --git a/app/js/directives.js b/app/js/directives.js index c586a0c6..70f17ef4 100644 --- a/app/js/directives.js +++ b/app/js/directives.js @@ -318,6 +318,9 @@ angular.module('myApp.directives', ['myApp.filters']) }); function updateSizes (heightOnly) { + if (!element.is(':visible') || !$(element[0].parentNode).is(':visible')) { + return; + } if ($(sendFormWrap).is(':visible')) { $(sendFormWrap).css({ height: $(sendForm).height() @@ -851,7 +854,7 @@ angular.module('myApp.directives', ['myApp.filters']) }) - .directive('myTypingDots', function($interval) { + .directive('myLoadingDots', function($interval) { return { link: link, diff --git a/app/js/services.js b/app/js/services.js index 7cdbd953..a952dcb4 100644 --- a/app/js/services.js +++ b/app/js/services.js @@ -671,7 +671,7 @@ angular.module('myApp.services', []) } }) -.service('AppMessagesManager', function ($q, $rootScope, $location, ApiUpdatesManager, AppUsersManager, AppChatsManager, AppPeersManager, AppPhotosManager, AppVideoManager, AppDocsManager, AppAudioManager, MtpApiManager, MtpApiFileManager, RichTextProcessor, NotificationsManager, SearchIndexManager) { +.service('AppMessagesManager', function ($q, $rootScope, $location, $filter, ApiUpdatesManager, AppUsersManager, AppChatsManager, AppPeersManager, AppPhotosManager, AppVideoManager, AppDocsManager, AppAudioManager, MtpApiManager, MtpApiFileManager, RichTextProcessor, NotificationsManager, SearchIndexManager) { var messagesStorage = {}; var messagesForHistory = {}; @@ -1482,6 +1482,8 @@ angular.module('myApp.services', []) message.richMessage = RichTextProcessor.wrapRichText(message.message.substr(0, 64), {noLinks: true, noLinebreaks: true}); } + message.dateText = $filter('dateOrTime')(message.date); + return messagesForDialogs[msgID] = message; } diff --git a/app/partials/chat_modal.html b/app/partials/chat_modal.html index 4965ee7b..c6528642 100644 --- a/app/partials/chat_modal.html +++ b/app/partials/chat_modal.html @@ -16,7 +16,7 @@ thumb="chatFull.thumb" />
-
Updating
+
Updating