]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
No separate placeholder input element for replyforms
authorMikael Nordfeldth <mmn@hethane.se>
Fri, 6 Mar 2015 19:22:01 +0000 (20:22 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Fri, 6 Mar 2015 19:22:01 +0000 (20:22 +0100)
Also we're moving the rendering of these out into a separate plugin. Not
done yet, some javascript should be moved out as well.

js/util.js
lib/default.php
lib/threadednoticelist.php

index 2611d8515ac73e6b8b1812d68696b2075cf874a0..9001a401c2b373183c1697c06a912db2f4bb4bf1 100644 (file)
@@ -620,37 +620,18 @@ var SN = { // StatusNet
             var parentNotice = notice;
             var stripForm = true; // strip a couple things out of reply forms that are inline
 
-            // Find the threaded replies view we'll be adding to...
             var list = notice.closest('.notices');
-            if (list.closest('.old-school').length) {
-                // We're replying to an old-school conversation thread;
-                // use the old-style ping into the top form.
-                SN.U.switchInputFormTab("status");
-                replyForm = $('#input_form_status').find('form');
-                stripForm = false;
-            } else if (list.hasClass('threaded-replies')) {
+            if (list.hasClass('threaded-replies')) {
                 // We're replying to a reply; use reply form on the end of this list.
-                // We'll add our form at the end of this; grab the root notice.
-                parentNotice = list.closest('.notice');
-
-                // See if the form's already open...
-                replyForm = $('.notice-reply-form', list);
             } else {
                 // We're replying to a parent notice; pull its threaded list
-                // and we'll add on the end of it. Will add if needed.
-                list = $('ul.threaded-replies', notice);
+                // and we'll add on the end of it. Will add the threaded list if needed.
+                var list = $('ul.threaded-replies', notice);
                 if (list.length == 0) {
-                    SN.U.NoticeInlineReplyPlaceholder(notice);
-                    list = $('ul.threaded-replies', notice);
-                } else {
-                    placeholder = $('li.notice-reply-placeholder', notice);
-                    if (placeholder.length == 0) {
-                        SN.U.NoticeInlineReplyPlaceholder(notice);
-                    }
+                    list = $('<ul class="notices threaded-replies xoxo"></ul>');
+                    notice.append(list);
+                    list = notice.find('ul.threaded-replies');
                 }
-
-                // See if the form's already open...
-                replyForm = $('.notice-reply-form', list);
             }
 
             var nextStep = function () {
@@ -681,15 +662,15 @@ var SN = { // StatusNet
                     text[0].setSelectionRange(len, len);
                 }
             };
+
+            // See if the form's already open...
+            replyForm = $('.notice-reply-form', list);
             if (replyForm.length > 0) {
                 // Update the existing form...
                 nextStep();
             } else {
-                // Hide the placeholder...
-                placeholder = list.find('li.notice-reply-placeholder').hide();
-
                 // Create the reply form entry at the end
-                var replyItem = $('li.notice-reply', list);
+                var replyItem = $('li.notice-reply > form', list);
                 if (replyItem.length == 0) {
                     replyItem = $('<li class="notice-reply"></li>');
 
@@ -721,34 +702,13 @@ var SN = { // StatusNet
             }
         },
 
-        NoticeInlineReplyPlaceholder: function (notice) {
-            var list = notice.find('ul.threaded-replies');
-            if (list.length == 0) {
-                list = $('<ul class="notices threaded-replies xoxo"></ul>');
-                notice.append(list);
-                list = notice.find('ul.threaded-replies');
-            }
-            var placeholder = $('<li class="notice-reply-placeholder">' +
-                                    '<input class="placeholder" />' +
-                                '</li>');
-            placeholder.find('input')
-                .val(SN.msg('reply_placeholder'));
-            list.append(placeholder);
-        },
-
         /**
          * Setup function -- DOES NOT apply immediately.
          *
-         * Sets up event handlers for inline reply mini-form placeholders.
          * Uses 'on' rather than 'live' or 'bind', so applies to future as well as present items.
          */
         NoticeInlineReplySetup: function () {
-            $('li.notice-reply-placeholder input')
-                .on('focus', function () {
-                    var notice = $(this).closest('li.notice');
-                    SN.U.NoticeInlineReplyTrigger(notice);
-                    return false;
-                });
+            // Expand conversation links
             $(document).on('click', 'li.notice-reply-comments a', function () {
                     var url = $(this).attr('href');
                     var area = $(this).closest('.threaded-replies');
index 0e6ad7b9fd53bd94adaef93a3b90e87107068e9e..9926f6aa7af121d73d2aa1d4e85acc1af811eec2 100644 (file)
@@ -309,6 +309,7 @@ $default =
                             'AntiBrute' => array(),
                             'Bookmark' => array(),
                             'ClientSideShorten' => array(),
+                            'DefaultLayout' => array(),
                             'Directory' => array(),
                             'DirectMessage' => array(),
                             'EmailAuthentication' => array(),
index 18d13505c8ddcde23ae79d57aa02a558c06f02de..9eaf6493c67631a52d125f778db0a70119614971 100644 (file)
@@ -253,14 +253,8 @@ class ThreadedNoticeListItem extends NoticeListItem
                     }
                 }
 
-                if ($threadActive && Profile::current() instanceof Profile) {
-                    // @fixme do a proper can-post check that's consistent
-                    // with the JS side
-                    $item = new ThreadedNoticeListReplyItem($this->notice, $this->out);
-                    $item->show();
-                }
-                $this->out->elementEnd('ul');
                 Event::handle('EndShowThreadedNoticeTail', array($this, $this->notice, $notices));
+                $this->out->elementEnd('ul');
             }
         }
 
@@ -381,45 +375,6 @@ class ThreadedNoticeListMoreItem extends NoticeListItem
     }
 }
 
-/**
- * Placeholder for reply form...
- * Same as get added at runtime via SN.U.NoticeInlineReplyPlaceholder
- */
-class ThreadedNoticeListReplyItem extends NoticeListItem
-{
-    /**
-     * recipe function for displaying a single notice.
-     *
-     * This uses all the other methods to correctly display a notice. Override
-     * it or one of the others to fine-tune the output.
-     *
-     * @return void
-     */
-    function show()
-    {
-        $this->showStart();
-        $this->showMiniForm();
-        $this->showEnd();
-    }
-
-    /**
-     * start a single notice.
-     *
-     * @return void
-     */
-    function showStart()
-    {
-        $this->out->elementStart('li', array('class' => 'notice-reply-placeholder'));
-    }
-
-    function showMiniForm()
-    {
-        $this->out->element('input', array('class' => 'placeholder',
-                                           // TRANS: Field label for reply mini form.
-                                           'value' => _('Write a reply...')));
-    }
-}
-
 /**
  * Placeholder for showing repeats...
  */