]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - js/util.js
Merge branch 'fixes/private_scope_on_tags' into social-master
[quix0rs-gnu-social.git] / js / util.js
index 5cab244bee2683f455aaaa2bf6292541623f7ce0..9c727e9a5376b2cde9d5d9a2418ea57988dc6af0 100644 (file)
@@ -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', null, 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'));
-            }
         },
 
         /**
@@ -1177,18 +1174,22 @@ var SN = { // StatusNet
                                 }
                             }
                         } else {
-                            var cookieValue = JSON.parse($.cookie(SN.C.S.NoticeDataGeoCookie));
-
-                            form.find('[name=lat]').val(cookieValue.NLat);
-                            form.find('[name=lon]').val(cookieValue.NLon);
-                            form.find('[name=location_ns]').val(cookieValue.NLNS);
-                            form.find('[name=location_id]').val(cookieValue.NLID);
-                            form.find('[name=notice_data-geo]').prop('checked', cookieValue.NDG);
-
-                            SN.U.NoticeGeoStatus(form, cookieValue.NLN, cookieValue.NLat, cookieValue.NLon, cookieValue.NLNU);
-                            label
-                                .attr('title', NoticeDataGeo_text.ShareDisable + ' (' + cookieValue.NLN + ')')
-                                .addClass('checked');
+                            try {
+                                var cookieValue = JSON.parse($.cookie(SN.C.S.NoticeDataGeoCookie));
+
+                                form.find('[name=lat]').val(cookieValue.NLat);
+                                form.find('[name=lon]').val(cookieValue.NLon);
+                                form.find('[name=location_ns]').val(cookieValue.NLNS);
+                                form.find('[name=location_id]').val(cookieValue.NLID);
+                                form.find('[name=notice_data-geo]').prop('checked', cookieValue.NDG);
+
+                               SN.U.NoticeGeoStatus(form, cookieValue.NLN, cookieValue.NLat, cookieValue.NLon, cookieValue.NLNU);
+                                label
+                                    .attr('title', NoticeDataGeo_text.ShareDisable + ' (' + cookieValue.NLN + ')')
+                                    .addClass('checked');
+                            } catch (e) {
+                                console.log('Parsing error:', e);
+                            }
                         }
                     } else {
                         removeNoticeDataGeo();
@@ -1357,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.
@@ -1370,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;
         },
 
@@ -1381,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');
             }
 
@@ -1400,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();
@@ -1435,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);
@@ -1479,7 +1470,6 @@ var SN = { // StatusNet
 
                 // Infield labels for notice form inputs.
                 $('.input_forms fieldset fieldset label').inFieldLabels({ fadeOpacity:0 });
-
             }
         },