Переглянути джерело

Adds scrollbar to the contact list.

j8
paweldomas 10 роки тому
джерело
коміт
38b180ad81
4 змінених файлів з 18048 додано та 18078 видалено
  1. 18
    9
      css/contact_list.css
  2. 5
    4
      index.html
  3. 18017
    18053
      libs/app.bundle.js
  4. 8
    12
      modules/UI/side_pannels/contactlist/ContactList.js

+ 18
- 9
css/contact_list.css Переглянути файл

@@ -3,12 +3,27 @@
3 3
     cursor: default;
4 4
 }
5 5
 
6
-#contactlist>ul {
6
+#contactlist>div.title {
7
+    text-align: left;
8
+    padding: 7px 10px;
9
+    margin: 2px;
10
+    color: #00ccff;
11
+    font-size: 11pt;
12
+    border-bottom: 1px solid #676767;
13
+}
14
+
15
+#contactlist>ul#contacts {
16
+    position: absolute;
17
+    top: 31px;
18
+    bottom: 0px;
19
+    width: 100%;
7 20
     margin: 0px;
8 21
     padding: 0px;
22
+    overflow-y: scroll;
23
+    overflow-x: hidden;
9 24
 }
10 25
 
11
-#contactlist>ul>li {
26
+#contacts>li {
12 27
     list-style-type: none;
13 28
     text-align: left;
14 29
     color: #FFF;
@@ -17,18 +32,12 @@
17 32
     margin: 2px;
18 33
 }
19 34
 
20
-#contactlist>ul>li>p {
35
+#contacts>li>p {
21 36
     display: inline-block;
22 37
     vertical-align: middle;
23 38
     margin: 0px;
24 39
 }
25 40
 
26
-#contactlist>ul>li.title {
27
-    color: #00ccff;
28
-    font-size: 11pt;
29
-    border-bottom: 1px solid #676767;
30
-}
31
-
32 41
 .avatar {
33 42
     padding: 0px;
34 43
     margin-right: 10px;

+ 5
- 4
index.html Переглянути файл

@@ -19,7 +19,7 @@
19 19
     <script src="libs/popover.js?v=1"></script><!-- bootstrap tooltip lib -->
20 20
     <script src="libs/toastr.js?v=1"></script><!-- notifications lib -->
21 21
     <script src="interface_config.js?v=5"></script>
22
-    <script src="libs/app.bundle.js?v=87"></script>
22
+    <script src="libs/app.bundle.js?v=88"></script>
23 23
     <script src="analytics.js?v=1"></script><!-- google analytics plugin -->
24 24
     <link rel="stylesheet" href="css/font.css?v=7"/>
25 25
     <link rel="stylesheet" href="css/toastr.css?v=1">
@@ -289,9 +289,10 @@
289 289
             </div>
290 290
         </div>
291 291
         <div id="contactlist" class="right-panel">
292
-            <ul>
293
-                <li class="title"><i class="icon-contact-list"></i><span data-i18n="contactlist"></span></li>
294
-            </ul>
292
+            <div class="title">
293
+                <i class="icon-contactList"><span data-i18n="contactlist"></span></i>
294
+            </div>
295
+            <ul id="contacts"></ul>
295 296
         </div>
296 297
         <div id="settingsmenu" class="right-panel">
297 298
             <div class="icon-settings" data-i18n="settings.title"></div>

+ 18017
- 18053
libs/app.bundle.js
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 8
- 12
modules/UI/side_pannels/contactlist/ContactList.js Переглянути файл

@@ -85,7 +85,7 @@ var ContactList = {
85 85
     ensureAddContact: function (peerJid, id) {
86 86
         var resourceJid = Strophe.getResourceFromJid(peerJid);
87 87
 
88
-        var contact = $('#contactlist>ul>li[id="' + resourceJid + '"]');
88
+        var contact = $('#contacts>li[id="' + resourceJid + '"]');
89 89
 
90 90
         if (!contact || contact.length <= 0)
91 91
             ContactList.addContact(peerJid, id);
@@ -100,7 +100,7 @@ var ContactList = {
100 100
     addContact: function (peerJid, id) {
101 101
         var resourceJid = Strophe.getResourceFromJid(peerJid);
102 102
 
103
-        var contactlist = $('#contactlist>ul');
103
+        var contactlist = $('#contacts');
104 104
 
105 105
         var newContact = document.createElement('li');
106 106
         newContact.id = resourceJid;
@@ -114,15 +114,11 @@ var ContactList = {
114 114
         newContact.appendChild(createAvatar(id));
115 115
         newContact.appendChild(createDisplayNameParagraph("participant"));
116 116
 
117
-        var clElement = contactlist.get(0);
118
-
119
-        if (resourceJid === APP.xmpp.myResource()
120
-            && $('#contactlist>ul .title')[0].nextSibling.nextSibling) {
121
-            clElement.insertBefore(newContact,
122
-                $('#contactlist>ul .title')[0].nextSibling.nextSibling);
117
+        if (resourceJid === APP.xmpp.myResource()) {
118
+            contactlist.prepend(newContact);
123 119
         }
124 120
         else {
125
-            clElement.appendChild(newContact);
121
+            contactlist.append(newContact);
126 122
         }
127 123
         updateNumberOfParticipants(1);
128 124
     },
@@ -135,7 +131,7 @@ var ContactList = {
135 131
     removeContact: function (peerJid) {
136 132
         var resourceJid = Strophe.getResourceFromJid(peerJid);
137 133
 
138
-        var contact = $('#contactlist>ul>li[id="' + resourceJid + '"]');
134
+        var contact = $('#contacts>li[id="' + resourceJid + '"]');
139 135
 
140 136
         if (contact && contact.length > 0) {
141 137
             var contactlist = $('#contactlist>ul');
@@ -165,7 +161,7 @@ var ContactList = {
165 161
     },
166 162
 
167 163
     setClickable: function (resourceJid, isClickable) {
168
-        var contact = $('#contactlist>ul>li[id="' + resourceJid + '"]');
164
+        var contact = $('#contacts>li[id="' + resourceJid + '"]');
169 165
         if (isClickable) {
170 166
             contact.addClass('clickable');
171 167
         } else {
@@ -179,7 +175,7 @@ var ContactList = {
179 175
 
180 176
         var resourceJid = Strophe.getResourceFromJid(peerJid);
181 177
 
182
-        var contactName = $('#contactlist #' + resourceJid + '>p');
178
+        var contactName = $('#contacts #' + resourceJid + '>p');
183 179
 
184 180
         if (contactName && displayName && displayName.length > 0)
185 181
             contactName.html(displayName);

Завантаження…
Відмінити
Зберегти