jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/358090 )

Change subject: BlueSpiceCategoryManager: codestyling, leaf items
......................................................................


BlueSpiceCategoryManager: codestyling, leaf items

Items without child nodes are now be able to get categories dropped in.
Codestyling needs merge to master
Removed unused code

Change-Id: I19a24db4712c1f406ee11be8260665ed080e7160
(cherry picked from commit 7a6dd1d652c4c2b1d8f8944ff38f4357a270c0c7)
---
M resources/BS.BlueSpiceCategoryManager/Model.js
M resources/BS.BlueSpiceCategoryManager/TreePanel.js
2 files changed, 40 insertions(+), 42 deletions(-)

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



diff --git a/resources/BS.BlueSpiceCategoryManager/Model.js 
b/resources/BS.BlueSpiceCategoryManager/Model.js
index bd22d05..0c3ed38 100644
--- a/resources/BS.BlueSpiceCategoryManager/Model.js
+++ b/resources/BS.BlueSpiceCategoryManager/Model.js
@@ -3,13 +3,22 @@
        fields: [
                { name: 'text', type: 'string' },
                {
-                       name: 'leaf', type: 'boolean', convert: function() {
+                       name: 'leaf', type: 'boolean', convert: function ( 
value, record ) {
                                return false;
                        }
                },
                {
-                       name: 'href', type: 'string', convert: function( value, 
record  ) {
-                               var catTitle = mw.Title.makeTitle( 
bs.ns.NS_CATEGORY, record.get( 'text') );
+                       name: 'loaded', type: 'boolean', convert: function ( 
value, record ) {
+                               if( !record.data.root ) {
+                                       return record.raw.leaf;
+                               }
+
+                               return value;
+                       }
+               },
+               {
+                       name: 'href', type: 'string', convert: function ( 
value, record ) {
+                               var catTitle = mw.Title.makeTitle( 
bs.ns.NS_CATEGORY, record.get( 'text' ) );
                                return catTitle.getUrl();
                        }
                },
diff --git a/resources/BS.BlueSpiceCategoryManager/TreePanel.js 
b/resources/BS.BlueSpiceCategoryManager/TreePanel.js
index 0553925..73e10ef 100644
--- a/resources/BS.BlueSpiceCategoryManager/TreePanel.js
+++ b/resources/BS.BlueSpiceCategoryManager/TreePanel.js
@@ -3,15 +3,17 @@
        requires: [
                'BS.action.APIAddCategories',
                'BS.action.APIRemoveCategories',
+               'BS.action.APIDeletePage',
                'BS.BlueSpiceCategoryManager.Model',
-               'BS.dialog.BatchActions'
+               'BS.dialog.BatchActions',
+               'Ext.data.TreeStore'
        ],
        originalParent: undefined,
        afterInitComponent: function () {
-               this.store = Ext.create( 'Ext.data.TreeStore', {
+               this.store = new Ext.data.TreeStore({
                        proxy: {
                                type: 'ajax',
-                               url: mw.util.wikiScript('api'),
+                               url: mw.util.wikiScript( 'api' ),
                                reader: {
                                        type: 'json',
                                        root: 'results',
@@ -30,7 +32,7 @@
                        model: 'BS.BlueSpiceCategoryManager.Model'
                });
 
-               this.treePanel = new Ext.tree.Panel( {
+               this.treePanel = new Ext.tree.Panel({
                        useArrows: true,
                        height: 500,
                        rootVisible: false,
@@ -40,7 +42,11 @@
                                plugins: {
                                        ptype: 'treeviewdragdrop',
                                        dragText: mw.message( 
'bs-categorymanager-draganddrop-text' ).plain(),
-                                       enableDrop: true
+                                       enableDrop: true,
+                                       appendOnly: false,
+                                       sortOnDrop: true,
+                                       expandDelay: 250,
+                                       allowParentInserts: true
                                }
                        }
                } );
@@ -110,7 +116,7 @@
        addCategories: function( page, categories ) {
                this.treePanel.setLoading( true );
 
-               return Ext.create('BS.action.APIAddCategories', {
+               return new BS.action.APIAddCategories({
                        pageTitle: page,
                        categories: categories
                }).execute();
@@ -118,7 +124,7 @@
 
        removeCategories: function( page, categories ) {
                this.treePanel.setLoading( true );
-               return Ext.create('BS.action.APIRemoveCategories', {
+               return new BS.action.APIRemoveCategories({
                        pageTitle: page,
                        categories: categories
                }).execute();
@@ -136,7 +142,7 @@
                                ok: function( input ) {
                                        me.treePanel.setLoading( true );
 
-                                       var addCategoryAction = 
Ext.create('BS.action.APIAddCategories', {
+                                       var addCategoryAction = new 
BS.action.APIAddCategories({
                                                pageTitle: 'Category:' + 
input.value,
                                                categories: []
                                        });
@@ -156,15 +162,15 @@
 
        onBtnRemoveClick: function ( oButton, oEvent ) {
                var me = this;
-               bs.util.confirm('RemoveCategory', {
-                               text: 
mw.message('bs-categorymanager-removecategoryconfirm-text').plain(),
-                               title: 
mw.message('bs-categorymanager-removecategoryconfirm-title').plain(),
+               bs.util.confirm( 'RemoveCategory', {
+                               text: mw.message( 
'bs-categorymanager-removecategoryconfirm-text' ).plain(),
+                               title: mw.message( 
'bs-categorymanager-removecategoryconfirm-title' ).plain(),
                        },
                        {
                                ok: function(){
                                        var data = new Array();
                                        var element = oButton.element;
-                                       var category = element.get('text')
+                                       var category = element.get( 'text' );
                                        var categoryEntire = 'Category:' + 
category;
 
                                        var api = new mw.Api();
@@ -172,48 +178,31 @@
                                                action: 'query',
                                                list: 'categorymembers',
                                                cmtitle: categoryEntire
-                                               // limit?
                                        })
                                        .done( function ( response ){
-                                               
$.each(response.query.categorymembers, function(index, val){
-                                                       var action = 
Ext.create('BS.action.APIRemoveCategories', {
+                                               
$.each(response.query.categorymembers, function( index, val ){
+                                                       var action = new 
BS.action.APIRemoveCategories({
                                                                                
        pageTitle: val.title,
                                                                                
        categories: [category]
                                                                                
});
                                                        data.push( action );
                                                });
 
-                                               data.push( 
Ext.create('BS.action.APIDeletePage', {
+                                               data.push( new 
BS.action.APIDeletePage({
                                                        pageTitle: 
categoryEntire
                                                }) );
 
-                                               if ( data.length === 0){
-                                                       removeCategory( element 
);
-                                               } else {
-                                                       var batchPanel = 
Ext.create('BS.dialog.BatchActions', {});
-                                                       
batchPanel.setData(data);
-                                                       batchPanel.show();
-                                                       
batchPanel.startProcessing();
-                                                       batchPanel.on( 'ok', 
function() {
-                                                               
me.treePanel.getStore().load();
-                                                       }, this );
-                                               }
+                                               var batchDialog = new 
BS.dialog.BatchActions({});
+                                               batchDialog.setData( data );
+                                               batchDialog.show();
+                                               batchDialog.startProcessing();
+                                               batchDialog.on( 'ok', 
function() {
+                                                       
me.treePanel.getStore().load();
+                                               }, this );
                                        })
                                        .fail( function(){
                                                me.treePanel.setLoading( false 
);
                                        });
-                                       function removeCategory( element ){
-                                               api.postWithEditToken( {
-                                                               action: 
'delete',
-                                                               title: 
'Category:' + element.get('text')
-                                               })
-                                               .fail( function (data){
-                                                               
element.parentNode.removeChild( element );
-                                               })
-                                               .done( function (data) {
-                                                       
element.parentNode.removeChild( element ); //remove node from TreePanel
-                                               });
-                                       }
                                },
                                scope: this
                        }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I19a24db4712c1f406ee11be8260665ed080e7160
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/BlueSpiceCategoryManager
Gerrit-Branch: master
Gerrit-Owner: Mglaser <gla...@hallowelt.biz>
Gerrit-Reviewer: Mglaser <gla...@hallowelt.biz>
Gerrit-Reviewer: Nasty <kon...@hallowelt.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