Browse Source

replace .parents() method with .closest() — need only first ancestor

master
Simon Grim 9 years ago
parent
commit
d5bbe2c6f1
  1. 32
      js/interface_common.js
  2. 4
      js/mobile_abstract.js
  3. 12
      js/twister_directmsg.js

32
js/interface_common.js

@ -479,7 +479,7 @@ function reTwistPopup(event, post, textArea) { @@ -479,7 +479,7 @@ function reTwistPopup(event, post, textArea) {
}
if (typeof post === 'undefined')
post = $.evalJSON($(event.target).parents('.post-data').attr('data-userpost'));
post = $.evalJSON($(event.target).closest('.post-data').attr('data-userpost'));
var modal = openModal({
classBase: '.prompt-wrapper',
@ -495,7 +495,7 @@ function reTwistPopup(event, post, textArea) { @@ -495,7 +495,7 @@ function reTwistPopup(event, post, textArea) {
modal.content.find('.switch-mode')
.text(polyglot.t('Switch to Reply'))
.on('click', (function(event) {replyInitPopup(event, post,
$(event.target).parents('form').find('textarea').detach());}).bind(post))
$(event.target).closest('form').find('textarea').detach());}).bind(post))
;
var replyArea = modal.content.find('.post-area .post-area-new');
@ -533,7 +533,7 @@ function replyInitPopup(e, post, textArea) { @@ -533,7 +533,7 @@ function replyInitPopup(e, post, textArea) {
modal.content.find('.switch-mode')
.text(polyglot.t('Switch to Retransmit'))
.on('click', (function(event) {reTwistPopup(event, post,
$(event.target).parents('form').find('textarea').detach())}).bind(post))
$(event.target).closest('form').find('textarea').detach())}).bind(post))
;
var replyArea = modal.content.find('.post-area .post-area-new').addClass('open');
@ -661,7 +661,7 @@ function postReplyClick(e) { @@ -661,7 +661,7 @@ function postReplyClick(e) {
if (!post.hasClass('original'))
replyInitPopup(e, $.evalJSON(post.find('.post-data').attr('data-userpost')));
else {
if (!post.parents('.post.open').length)
if (!post.closest('.post.open').length)
postExpandFunction(e, post);
composeNewPost(e, post.find('.post-area-new'));
}
@ -743,12 +743,12 @@ var usePostSpliting = false; @@ -743,12 +743,12 @@ var usePostSpliting = false;
function replyTextInput(event) {
var textArea = $(event.target);
var textAreaForm = textArea.parents('form');
var textAreaForm = textArea.closest('form');
if (textAreaForm.length) {
if ($.Options.unicodeConversion.val !== 'disable')
textArea.val(convert2Unicodes(textArea.val(), textArea));
if (usePostSpliting && !textArea.parents('.directMessages').length) {
if (usePostSpliting && !textArea.closest('.directMessages').length) {
var caretPos = textArea.caret();
var reply_to = textArea.attr('data-reply-to');
var tas = textAreaForm.find('textarea');
@ -875,12 +875,12 @@ function replyTextUpdateRemaining(ta) { @@ -875,12 +875,12 @@ function replyTextUpdateRemaining(ta) {
ta = ta.target;
if (ta === document.activeElement) {
var textArea = $(ta);
var textAreaForm = textArea.parents('form');
var textAreaForm = textArea.closest('form');
if (textAreaForm.length) {
var remainingCount = textAreaForm.find('.post-area-remaining');
var c = replyTextCountRemaining(ta);
if (usePostSpliting && !textArea.parents('.directMessages').length && splitedPostsCount > 1)
if (usePostSpliting && !textArea.closest('.directMessages').length && splitedPostsCount > 1)
remainingCount.text((textAreaForm.find('textarea').index(ta) + 1).toString()
+ '/' + splitedPostsCount.toString() + ': ' + c.toString());
else
@ -913,8 +913,8 @@ function replyTextCountRemaining(ta) { @@ -913,8 +913,8 @@ function replyTextCountRemaining(ta) {
var textArea = $(ta);
var c;
if (usePostSpliting && !textArea.parents('.directMessages').length && splitedPostsCount > 1) {
c = 140 - ta.value.length - (textArea.parents('form').find('textarea').index(ta) + 1).toString().length - splitedPostsCount.toString().length - 4;
if (usePostSpliting && !textArea.closest('.directMessages').length && splitedPostsCount > 1) {
c = 140 - ta.value.length - (textArea.closest('form').find('textarea').index(ta) + 1).toString().length - splitedPostsCount.toString().length - 4;
var reply_to = textArea.attr('data-reply-to');
if (typeof reply_to !== 'undefined' &&
!checkPostForMentions(ta.value, reply_to, 140 -c -reply_to.length))
@ -931,7 +931,7 @@ function replyTextKeySend(event) { @@ -931,7 +931,7 @@ function replyTextKeySend(event) {
$('.dropdown-menu').css('display') === 'none')
|| ((event.metaKey || event.ctrlKey) && $.Options.keysSend.val === 'ctrlenter')) {
var textArea = $(event.target);
var textAreaForm = textArea.parents('form');
var textAreaForm = textArea.closest('form');
var buttonSend = textAreaForm.find('.post-submit');
if (!buttonSend.length)
buttonSend = textAreaForm.find('.dm-submit');
@ -1413,11 +1413,11 @@ function postSubmit(e, oldLastPostId) { @@ -1413,11 +1413,11 @@ function postSubmit(e, oldLastPostId) {
return;
}
if (btnPostSubmit.parents('.prompt-wrapper').length)
if (btnPostSubmit.closest('.prompt-wrapper').length)
closePrompt();
else {
textArea.val('').attr('placeholder', polyglot.t('Your message was sent!'));
var tweetForm = btnPostSubmit.parents('form');
var tweetForm = btnPostSubmit.closest('form');
var remainingCount = tweetForm.find('.post-area-remaining');
remainingCount.text(140);
@ -1639,7 +1639,7 @@ function elemFitNextIntoParentHeight(elem) { @@ -1639,7 +1639,7 @@ function elemFitNextIntoParentHeight(elem) {
function inputEnterActivator(event) {
var elemEvent = $(event.target);
elemEvent.parents(event.data.parentSelector).find(event.data.enterSelector)
elemEvent.closest(event.data.parentSelector).find(event.data.enterSelector)
.attr('disabled', elemEvent.val().trim() === '');
}
@ -1652,7 +1652,7 @@ function setTextcompleteOnEventTarget(event) { @@ -1652,7 +1652,7 @@ function setTextcompleteOnEventTarget(event) {
function setTextcompleteOnElement(elem, req) {
elem = $(elem);
elem.textcomplete(req, {
appendTo: (elem.parents('.dashboard').length) ? elem.parent() : $('body'),
appendTo: (elem.closest('.dashboard').length) ? elem.parent() : $('body'),
listPosition: setTextcompleteDropdownListPos
});
}
@ -1666,7 +1666,7 @@ function unsetTextcompleteOnEventTarget(event) { @@ -1666,7 +1666,7 @@ function unsetTextcompleteOnEventTarget(event) {
function setTextcompleteDropdownListPos(position) {
position = this._applyPlacement(position);
if (this.option.appendTo.parents('.dashboard').length > 0) {
if (this.option.appendTo.closest('.dashboard').length > 0) {
position.position = 'fixed';
position.top = (parseFloat(position.top) - window.pageYOffset).toString() + 'px';
} else

4
js/mobile_abstract.js

@ -47,7 +47,7 @@ var MAL = function() @@ -47,7 +47,7 @@ var MAL = function()
$dmChatList.listview('refresh');
$.mobile.silentScroll( $(".dm-form").offset().top );
} else {
var modalContent = dmConvo.parents(".modal-content");
var modalContent = dmConvo.closest(".modal-content");
modalContent.scrollTop(modalContent[0].scrollHeight);
}
}
@ -498,7 +498,7 @@ var MAL = function() @@ -498,7 +498,7 @@ var MAL = function()
if ($.hasOwnProperty('mobile')) {
return postLi.siblings().length;
} else {
return postLi.parents('.module.post.original.open').find('.post.related').length;
return postLi.closest('.module.post.original.open').find('.post.related').length;
}
};
}

12
js/twister_directmsg.js

@ -270,7 +270,7 @@ function openGroupMessagesNewGroupModal() { @@ -270,7 +270,7 @@ function openGroupMessagesNewGroupModal() {
;
modal.content.find('.create').on('click', function (event) {
var elemEvent = $(event.target);
var elemForm = elemEvent.parents('.module')
var elemForm = elemEvent.closest('.module');
var peersToInvite = elemForm.find('.invite').val().toLowerCase().match(/@\w+/g);
if (peersToInvite)
@ -307,9 +307,9 @@ function openGroupMessagesJoinGroupModal() { @@ -307,9 +307,9 @@ function openGroupMessagesJoinGroupModal() {
.attr('data-screen-name', groupChatAliases[i])
.on('click', function (event) {
var elemEvent = $(event.target);
elemEvent.parents('.module').find('.join')
elemEvent.closest('.module').find('.join')
.attr('disabled',
!elemEvent.parents('.groups-list').find('input:checked').length);
!elemEvent.closest('.groups-list').find('input:checked').length);
})
;
item.find('.twister-user-name')
@ -325,7 +325,7 @@ function openGroupMessagesJoinGroupModal() { @@ -325,7 +325,7 @@ function openGroupMessagesJoinGroupModal() {
modal.content.find('.join').on('click', function (event) {
var elemEvent = $(event.target);
var groups = elemEvent.parents('.module').find('.groups-list input:checked');
var groups = elemEvent.closest('.module').find('.groups-list input:checked');
for (var i = 0; i < groups.length; i++)
groupMsgInviteToGroup(groups[i].getAttribute('data-screen-name'), [defaultScreenName]);
@ -335,7 +335,7 @@ function openGroupMessagesJoinGroupModal() { @@ -335,7 +335,7 @@ function openGroupMessagesJoinGroupModal() {
modal.content.find('.secret-key-import, .username-import').on('input', importSecretKeypress);
modal.content.find('.import-secret-key').on('click', function (event) {
var elemModule = $(event.target).parents('.module');
var elemModule = $(event.target).closest('.module');
var groupAlias = elemModule.find('.username-import').val().toLowerCase();
var secretKey = elemModule.find('.secret-key-import').val();
@ -490,7 +490,7 @@ function initInterfaceDirectMsg() { @@ -490,7 +490,7 @@ function initInterfaceDirectMsg() {
peersToInvite);
elemInput.val('');
elemEvent.parents('.invite-form').toggle();
elemEvent.closest('.invite-form').toggle();
// TODO reload group members list
});

Loading…
Cancel
Save