jenkins-bot has submitted this change and it was merged.

Change subject: Fix js list editing in the single column case
......................................................................


Fix js list editing in the single column case

Change-Id: If5da95c161123f118cae86fb7ac640232a142044
---
M includes/content/CollaborationListContent.php
M modules/ext.CollaborationKit.list.edit.js
2 files changed, 23 insertions(+), 19 deletions(-)

Approvals:
  Brian Wolff: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/content/CollaborationListContent.php 
b/includes/content/CollaborationListContent.php
index f668ed8..46ba902 100644
--- a/includes/content/CollaborationListContent.php
+++ b/includes/content/CollaborationListContent.php
@@ -912,10 +912,7 @@
                        && $title->userCan( 'edit', $user, 'quick' )
                ) {
                        $output->addJsConfigVars( 
'wgEnableCollaborationKitListEdit', true );
-                       /*
-                       Disabling until JavaScript module is updated.
                        $output->addModules( 'ext.CollaborationKit.list.edit' );
-                       */
                        $output->preventClickjacking();
                }
        }
diff --git a/modules/ext.CollaborationKit.list.edit.js 
b/modules/ext.CollaborationKit.list.edit.js
index 6012bbd..8c83a08 100644
--- a/modules/ext.CollaborationKit.list.edit.js
+++ b/modules/ext.CollaborationKit.list.edit.js
@@ -37,7 +37,7 @@
        modifyExistingItem = function ( itemName ) {
                getCurrentJson( mw.config.get( 'wgArticleId' ), function ( res 
) {
                        var done = false;
-                       $.each( res.content.items, function ( index ) {
+                       $.each( res.content.columns[ 0 ].items, function ( 
index ) {
                                if ( this.title === itemName ) {
                                        done = true;
                                        modifyItem( {
@@ -71,15 +71,15 @@
                        }
                        itemToAdd.title = curUserTitle.getPrefixedText();
 
-                       for ( i = 0; i < res.content.items.length; i++ ) {
+                       for ( i = 0; i < res.content.columns[ 0 ].items.length; 
i++ ) {
                                // TODO: Title normalization maybe?
-                               if ( res.content.items[ i ].title === 
itemToAdd.title ) {
+                               if ( res.content.columns[ 0 ].items[ i ].title 
=== itemToAdd.title ) {
                                        alert( mw.msg( 
'collaborationkit-list-alreadyadded' ) );
                                        return;
                                }
                        }
-                       index = res.content.items.length;
-                       res.content.items[ index ] = itemToAdd;
+                       index = res.content.columns[ 0 ].items.length;
+                       res.content.columns[ 0 ].items[ index ] = itemToAdd;
                        res.summary = mw.msg( 
'collaborationkit-list-add-self-summary', itemToAdd.title );
                        saveJson( res, function () {
                                location.reload();
@@ -103,13 +103,13 @@
 
                cur = getCurrentJson( mw.config.get( 'wgArticleId' ), function 
( res ) {
                        var newItems = [];
-                       $.each( res.content.items, function ( index ) {
+                       $.each( res.content.columns[ 0 ].items, function ( 
index ) {
                                if ( this.title === title ) {
                                        return;
                                }
                                newItems[ newItems.length ] = this;
                        } );
-                       res.content.items = newItems;
+                       res.content.columns[ 0 ].items = newItems;
                        // Interface for extension defined tags lacking...
                        // res.tags = 'collabkit-list-delete';
                        // FIXME inContentLanguage???
@@ -137,7 +137,8 @@
         */
        getListOfTitles = function ( $elm ) {
                var list = [];
-               $elm.children( '.mw-ck-list-item' ).each( function () {
+               // FIXME must be changed for multilist.
+               $elm.children().children( '.mw-ck-list-item' ).each( function 
() {
                        list[ list.length ] = $( this ).data( 
'collabkit-item-title' );
                } );
                return list;
@@ -162,11 +163,11 @@
 
                        reorderedItem = $item.data( 'collabkit-item-title' );
 
-                       if ( res.content.items.length !== originalOrder.length 
) {
+                       if ( res.content.columns[ 0 ].items.length !== 
originalOrder.length ) {
                                isEditConflict = true;
                        } else {
                                for ( i = 0; i < originalOrder.length; i++ ) {
-                                       if ( res.content.items[ i ].title !== 
originalOrder[ i ] ) {
+                                       if ( res.content.columns[ 0 ].items[ i 
].title !== originalOrder[ i ] ) {
                                                isEditConflict = true;
                                                break;
                                        }
@@ -198,7 +199,7 @@
                                var oneLess,
                                        oneMore,
                                        i,
-                                       resItems = res.content.items;
+                                       resItems = res.content.columns[ 0 
].items;
 
                                if ( resItems[ indexGuess ].title === title ) {
                                        return resItems[ indexGuess ];
@@ -231,7 +232,7 @@
                                resArray[ resArray.length ] = 
findItemInResArray( newOrder[ i ], i );
                        }
 
-                       res.content.items = resArray;
+                       res.content.columns[ 0 ].items = resArray;
                        res.summary = mw.msg( 
'collaborationkit-list-move-summary', reorderedItem );
                        saveJson( res, function () {
                                $spinner.remove();
@@ -428,8 +429,8 @@
                                itemToAdd.image = file;
                        }
                        if ( dialog.itemIndex !== undefined ) {
-                               if (    res.content.items <= dialog.itemIndex ||
-                                       res.content.items[ dialog.itemIndex 
].title !== dialog.itemTitle
+                               if (    res.content.columns[ 0 ].items <= 
dialog.itemIndex ||
+                                       res.content.columns[ 0 ].items[ 
dialog.itemIndex ].title !== dialog.itemTitle
                                ) {
                                        alert( 'Edit conflict' );
                                        location.reload();
@@ -438,9 +439,9 @@
                                }
                                index = dialog.itemIndex;
                        } else {
-                               index = res.content.items.length;
+                               index = res.content.columns[ 0 ].items.length;
                        }
-                       res.content.items[ index ] = itemToAdd;
+                       res.content.columns[ 0 ].items[ index ] = itemToAdd;
                        res.summary = mw.msg( 
'collaborationkit-list-add-summary', title );
                        saveJson( res, function () {
                                dialog.close(); // FIXME should we just leave 
open?
@@ -455,6 +456,11 @@
 
                if ( !mw.config.get( 'wgEnableCollaborationKitListEdit' ) ) {
                        // This page is not a list, or user does not have edit 
rights.
+                       return;
+               }
+
+               if ( $( '.mw-ck-list.mw-ck-singlelist' ).length !== 1 ) {
+                       mw.log( 'Multilist JS editing not implemented yet' );
                        return;
                }
 
@@ -531,6 +537,7 @@
                        handle: '.mw-ck-list-movebutton',
                        opacity: 0.6,
                        scroll: true,
+                       items: '.mw-ck-list-item',
                        cursor: 'grabbing', // Also overriden in CSS
                        start: function ( e ) {
                                $( e.target )

-- 
To view, visit https://gerrit.wikimedia.org/r/320834
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: If5da95c161123f118cae86fb7ac640232a142044
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CollaborationKit
Gerrit-Branch: master
Gerrit-Owner: Brian Wolff <bawolff...@gmail.com>
Gerrit-Reviewer: Brian Wolff <bawolff...@gmail.com>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to