Browse Source

Merge remote-tracking branch 'origin/master'

Weblate 7 năm trước cách đây
mục cha
commit
dec4677a87

+ 11 - 10
src/converse-chatview.js

@@ -274,9 +274,6 @@
                     this.model.on('showHelpMessages', this.showHelpMessages, this);
                     this.model.on('sendMessage', this.sendMessage, this);
 
-                    this.heading = new _converse.ChatBoxHeading({'model': this.model});
-                    this.heading.render();
-                    this.heading.chatview = this;
 
                     this.render().renderToolbar().insertHeading().fetchMessages();
                     utils.refreshWebkit();
@@ -288,20 +285,24 @@
                     this.el.setAttribute('id', this.model.get('box_id'));
                     this.el.innerHTML = tpl_chatbox(
                         _.extend(this.model.toJSON(), {
-                                show_toolbar: _converse.show_toolbar,
-                                show_textarea: true,
-                                show_send_button: _converse.show_send_button,
-                                unread_msgs: __('You have unread messages'),
                                 label_personal_message: __('Personal message'),
-                                label_send: __('Send')
+                                label_send: __('Send'),
+                                show_avatar: true,
+                                show_send_button: _converse.show_send_button,
+                                show_textarea: true,
+                                show_toolbar: _converse.show_toolbar,
+                                unread_msgs: __('You have unread messages')
                             }
-                        )
-                    );
+                        ));
                     this.$content = this.$el.find('.chat-content');
                     return this;
                 },
 
                 insertHeading () {
+                    this.heading = new _converse.ChatBoxHeading({'model': this.model});
+                    this.heading.render();
+                    this.heading.chatview = this;
+
                     const flyout = this.el.querySelector('.flyout');
                     flyout.insertBefore(this.heading.el, flyout.querySelector('.chat-body'));
                     return this;

+ 9 - 9
src/converse-controlbox.js

@@ -623,8 +623,8 @@
                     this.el.querySelector('.search-xmpp div').innerHTML = this.generateAddContactHTML();
                     var dropdown = this.el.querySelector('.contact-form-container');
                     utils.slideToggleElement(dropdown).then(() => {
-                        if ($(dropdown).is(':visible')) {
-                            $(dropdown).find('input.username').focus();
+                        if (utils.isVisible(dropdown)) {
+                            dropdown.querySelector('input.username').focus();
                         }
                     });
                 },
@@ -655,8 +655,8 @@
 
                 addContactFromForm (ev) {
                     ev.preventDefault();
-                    const $input = $(ev.target).find('input');
-                    const jid = $input.val();
+                    const input = ev.target.querySelector('input');
+                    const jid = input.value;
                     if (!jid || _.filter(jid.split('@')).length < 2) {
                         this.el.querySelector('.search-xmpp div').innerHTML =
                             this.generateAddContactHTML({
@@ -673,11 +673,11 @@
 
                 addContactFromList (ev) {
                     ev.preventDefault();
-                    const $target = $(ev.target),
-                        jid = $target.attr('data-recipient'),
-                        name = $target.text();
+                    const jid = ev.target.getAttribute('data-recipient'),
+                        name = ev.target.textContent;
                     _converse.roster.addAndSubscribe(jid, name);
-                    $target.parent().remove();
+                    const parent = ev.target.parentNode;
+                    parent.parentNode.removeChild(parent);
                     utils.slideIn(this.el.querySelector('.contact-form-container'));
                 }
             });
@@ -752,7 +752,7 @@
 
                 onClick (e) {
                     e.preventDefault();
-                    if ($("div#controlbox").is(':visible')) {
+                    if (utils.isVisible(document.querySelector("#controlbox"))) {
                         const controlbox = _converse.chatboxes.get('controlbox');
                         if (_converse.connection.connected) {
                             controlbox.save({closed: true});

+ 14 - 15
src/converse-headline.js

@@ -62,27 +62,26 @@
                     this.model.on('show', this.show, this);
                     this.model.on('destroy', this.hide, this);
                     this.model.on('change:minimized', this.onMinimizedChanged, this);
-                    this.render().fetchMessages().insertIntoDOM().hide();
+
+                    this.render().insertHeading().fetchMessages().insertIntoDOM().hide();
+                    _converse.emit('chatBoxOpened', this);
                     _converse.emit('chatBoxInitialized', this);
                 },
 
                 render () {
                     this.$el.attr('id', this.model.get('box_id'))
-                        .html(tpl_chatbox(
-                                _.extend(this.model.toJSON(), {
-                                        show_toolbar: _converse.show_toolbar,
-                                        show_textarea: false,
-                                        show_send_button: _converse.show_send_button,
-                                        title: this.model.get('fullname'),
-                                        unread_msgs: __('You have unread messages'),
-                                        info_close: __('Close this box'),
-                                        label_personal_message: ''
-                                    }
-                                )
-                            )
-                        );
+                    this.el.innerHTML = tpl_chatbox(
+                        _.extend(this.model.toJSON(), {
+                                info_close: '',
+                                label_personal_message: '',
+                                show_avatar: false,
+                                show_send_button: false,
+                                show_textarea: false,
+                                show_toolbar: false,
+                                unread_msgs: ''
+                            }
+                        ));
                     this.$content = this.$el.find('.chat-content');
-                    _converse.emit('chatBoxOpened', this);
                     utils.refreshWebkit();
                     return this;
                 }

+ 2 - 0
src/templates/chatbox_head.html

@@ -1,9 +1,11 @@
 <div class="chat-head chat-head-chatbox">
     <a class="chatbox-btn close-chatbox-button icon-close" title="{{{o.info_close}}}"></a>
+    {[ if (o.show_avatar) { ]}
     <img alt="User Avatar"
          class="avatar"
          height="{{{o.avatar_height}}}px" width="{{{o.avatar_width}}}px"
          src="data:{{{o.image_type}}};base64,{{{o.image}}}"/>
+    {[ } ]}
     <div class="chat-title">
         {[ if (o.url) { ]}
             <a href="{{{o.url}}}" target="_blank" rel="noopener" class="user">