X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=js%2Futil.js;h=9c727e9a5376b2cde9d5d9a2418ea57988dc6af0;hb=fa5ed04139cdcbb3beeb63b80536b0ab58760322;hp=c3ca213f3a4287a103c4baa9e63b73605cee586a;hpb=3f9a16dc587b86b8912bc5a00dd1800c6475f73d;p=quix0rs-gnu-social.git diff --git a/js/util.js b/js/util.js index c3ca213f3a..9c727e9a53 100644 --- a/js/util.js +++ b/js/util.js @@ -433,7 +433,7 @@ var SN = { // StatusNet .css({display: 'none'}) .fadeIn(2500); SN.U.NoticeWithAttachment($('#' + notice.id)); - SN.U.switchInputFormTab("placeholder"); + SN.U.switchInputFormTab(null); } } else { // Not on a timeline that this belongs on? @@ -749,8 +749,7 @@ var SN = { // StatusNet SN.U.NoticeInlineReplyTrigger(notice); return false; }); - $('li.notice-reply-comments a') - .on('click', function () { + $(document).on('click', 'li.notice-reply-comments a', function () { var url = $(this).attr('href'); var area = $(this).closest('.threaded-replies'); $.get(url, {ajax: 1}, function (data, textStatus, xhr) { @@ -773,7 +772,7 @@ var SN = { // StatusNet * */ NoticeRepeat: function () { - $('.form_repeat').on('click', function (e) { + $('body').on('click', '.form_repeat', function (e) { e.preventDefault(); SN.U.NoticeRepeatConfirmation($(this)); @@ -857,18 +856,16 @@ var SN = { // StatusNet return; } - var attachment_more = notice.find('.attachment.more'); - if (attachment_more.length > 0) { - $(attachment_more[0]).click(function () { - var m = $(this); - m.addClass(SN.C.S.Processing); - $.get(m.attr('href'), {ajax: 1}, function (data) { - m.parent('.entry-content').html($(data).find('#attachment_view .entry-content').html()); - }); + $(document).on('click','.attachment.more',function () { + var m = $(this); + m.addClass(SN.C.S.Processing); + $.get(m.attr('href'), {ajax: 1}, function (data) { + m.parent('.e-content').html($(data).find('#attachment_view .e-content').html()); + }); + + return false; + }); - return false; - }).attr('title', SN.msg('showmore_tooltip')); - } }, /** @@ -1361,7 +1358,7 @@ var SN = { // StatusNet var profileLink = $('#nav_profile a').attr('href'); if (profileLink) { - var authorUrl = $(notice).find('.vcard.author a.url').attr('href'); + var authorUrl = $(notice).find('.h-card.p-author').attr('href'); if (authorUrl == profileLink) { if (action == 'all' || action == 'showstream') { // Posts always show on your own friends and profile streams. @@ -1374,7 +1371,7 @@ var SN = { // StatusNet // Mismatch between id-based and name-based user/group links currently complicates // the lookup, since all our inline mentions contain the absolute links but the // UI links currently on the page use malleable names. - + return false; }, @@ -1385,14 +1382,11 @@ var SN = { // StatusNet * * @param {String} tag */ - switchInputFormTab: function (tag) { - // The one that's current isn't current anymore - $('.input_form_nav_tab.current').removeClass('current'); - if (tag == 'placeholder') { - // Hack: when showing the placeholder, mark the tab - // as current for 'Status'. - $('#input_form_nav_status').addClass('current'); - } else { + switchInputFormTab: function (tag, setFocus) { + if (typeof setFocus === 'undefined') { setFocus = true; } + // The one that's current isn't current anymore + $('.input_form_nav_tab.current').removeClass('current'); + if (tag != null) { $('#input_form_nav_' + tag).addClass('current'); } @@ -1404,17 +1398,24 @@ var SN = { // StatusNet return; } - $('.input_form.current').removeClass('current'); - $('#input_form_' + tag) - .addClass('current') - .find('.ajax-notice').each(function () { - var form = $(this); - SN.Init.NoticeFormSetup(form); - }) - .find('.notice_data-text').focus(); + $('.input_form.current').removeClass('current'); + if (tag == null) { + // we're done here, no new inputform to focus on + return false; + } - return false; - }, + var noticeForm = $('#input_form_' + tag) + .addClass('current') + .find('.ajax-notice').each(function () { + var form = $(this); + SN.Init.NoticeFormSetup(form); + }); + if (setFocus) { + noticeForm.find('.notice_data-text').focus(); + } + + return false; + }, showMoreMenuItems: function (menuid) { $('#' + menuid + ' .more_link').remove(); @@ -1439,28 +1440,14 @@ var SN = { // StatusNet // SN.Init.NoticeFormSetup() will get run // when forms get displayed for the first time... - // Hack to initialize the placeholder at top - $('#input_form_placeholder input.placeholder').focus(function () { - SN.U.switchInputFormTab("status"); + // Initialize the input form field + $('#input_form_nav .input_form_nav_tab.current').each(function () { + current_tab_id = $(this).attr('id').substring('input_form_nav_'.length); + SN.U.switchInputFormTab(current_tab_id, false); }); // Make inline reply forms self-close when clicking out. $('body').on('click', function (e) { - var currentForm = $('#content .input_forms div.current'); - if (currentForm.length > 0) { - if ($('#content .input_forms').has(e.target).length == 0) { - // If all fields are empty, switch back to the placeholder. - var fields = currentForm.find('textarea, input[type=text], input[type=""]'); - var anything = false; - fields.each(function () { - anything = anything || $(this).val(); - }); - if (!anything) { - SN.U.switchInputFormTab("placeholder"); - } - } - } - var openReplies = $('li.notice-reply'); if (openReplies.length > 0) { var target = $(e.target); @@ -1483,7 +1470,6 @@ var SN = { // StatusNet // Infield labels for notice form inputs. $('.input_forms fieldset fieldset label').inFieldLabels({ fadeOpacity:0 }); - } },