Robert Vogel has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/172219

Change subject: InsertLink: Now using new BS.form.field.TitleCombo
......................................................................

InsertLink: Now using new BS.form.field.TitleCombo

Implemented the new BS.form.field.TitleCombo in InsertLink
Needs to be tested carefully before merge!

Change-Id: I641804304b53b55b50e0d8d6304e335d007b1e29
---
M InsertLink/resources/BS.InsertLink/FormPanelWikiPage.js
1 file changed, 13 insertions(+), 61 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BlueSpiceExtensions 
refs/changes/19/172219/1

diff --git a/InsertLink/resources/BS.InsertLink/FormPanelWikiPage.js 
b/InsertLink/resources/BS.InsertLink/FormPanelWikiPage.js
index d7cc414..cab45a4 100644
--- a/InsertLink/resources/BS.InsertLink/FormPanelWikiPage.js
+++ b/InsertLink/resources/BS.InsertLink/FormPanelWikiPage.js
@@ -17,57 +17,23 @@
        beforeInitComponent: function() {
                this.setTitle( 
mw.message('bs-insertlink-tab-wiki-page').plain() );
 
-               this.cbNamespace = Ext.create( 'BS.form.NamespaceCombo', {
-                       name: 'inputNamespace',
-                       excludeIds: [bs.ns.NS_MEDIA]
-               });
-               this.cbNamespace.on('select', this.onCbNamespaceSelect, this);
-
-               this.cbPageName = Ext.create( 'Ext.form.field.ComboBox', {
-                       store: this.makePageStore(),
-                       fieldLabel: 
mw.message('bs-insertlink-label-page').plain(),
-                       displayField:'name',
-                       typeAhead: true,
-                       queryMode: 'local',
-                       triggerAction: 'all',
-                       allowBlank: false,
-                       
emptyText:mw.message('bs-insertlink-select-a-page').plain()
+               this.cbPageName = Ext.create( 'BS.form.field.TitleCombo', {
+                       fieldLabel: 
mw.message('bs-insertlink-label-page').plain()
                });
 
                this.pnlMainConf.items = [
-                       this.cbNamespace,
                        this.cbPageName
                ];
 
                this.callParent(arguments);
        },
 
-       makePageStore: function() {
-               return Ext.create( 'Ext.data.JsonStore', {
-                       proxy: {
-                               type: 'ajax',
-                               url: bs.util.getAjaxDispatcherUrl( 
'InsertLink::getPage' ),
-                               reader: {
-                                       type: 'json',
-                                       root: 'items'
-                               }
-                       },
-                       autoLoad: true,
-                       fields: ['name', 'label', 'ns']
-               });
-       },
-
-       onCbNamespaceSelect: function( field, record ) {
-               this.cbPageName.getStore().load({
-                       params:{ ns: record[0].get('id') }
-               });
-       },
        resetData: function() {
-               this.cbNamespace.reset();
                this.cbPageName.reset();
 
                this.callParent(arguments);
        },
+
        setData: function( obj ) {
                var bActive = false;
                var desc = false;
@@ -104,12 +70,8 @@
                                //Check if it is a available namespace or part 
of the title
                                var normNsText = 
namespace.toLowerCase().replace(' ', '_' );
                                var nsId = wgNamespaceIds[normNsText];
-                               if ( !nsId ) {
-                                       this.cbPageName.setValue( namespace + 
":" + parts.join( ':' ) );
-                               } else {
-                                       this.cbNamespace.setValue( nsId );
-                                       this.cbPageName.setValue( parts.join( 
':' ) );
-                               }
+                               this.cbPageName.setValue( namespace + ":" + 
parts.join( ':' ) );
+
                        } else {
                                this.cbPageName.setValue( link );
                        }
@@ -122,8 +84,7 @@
                                }
                                var link = new bs.wikiText.Link(obj.code);
 
-                               this.cbPageName.setValue( link.getTitle() );
-                               this.cbNamespace.setValue( link.getNsText() );
+                               this.cbPageName.setValue( 
link.getPrefixedTitle() );
                                if( link.getTitle() !== link.getDisplayText() ) 
{
                                        desc = link.getDisplayText();
                                }
@@ -144,29 +105,20 @@
                        desc = '|'+title;
                }
 
-               var ns = '';
-               var nsIndex = this.cbNamespace.getValue();
-               if( nsIndex !== bs.ns.NS_MAIN ) {
-                       var ns = wgFormattedNamespaces[nsIndex]+':';
-               }
+               var value = this.cbPageName.getValue();
+
+               var text = value.getPrefixedText();
 
                // Escape Category namespace (people want to link to the 
category page,
                // not assign a category
-               if( nsIndex === bs.ns.NS_CATEGORY ) { //[[:Category:Title]]
-                       ns = ':' + ns;
+               if( value.getNamespace() === bs.ns.NS_CATEGORY ) { 
//[[:Category:Title]]
+                       text = ':' + text;
                }
 
-               //var href = '';
-               var page = '';
-               if( this.cbPageName.getValue() ) {
-                       page = this.cbPageName.getValue();
-                       //href = mw.util.wikiGetlink(ns+page);
-               }
-
-               var code = '[[' + ns + page + desc + ']]';
+               var code = '[[' + text + desc + ']]';
                return {
                        title: title,
-                       href: ns+page,
+                       href: text,
                        type: this.linktype,
                        code: code
                        //'class': ''

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I641804304b53b55b50e0d8d6304e335d007b1e29
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/BlueSpiceExtensions
Gerrit-Branch: master
Gerrit-Owner: Robert Vogel <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to