Hoo man has uploaded a new change for review.

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


Change subject: (bug 45043) Overhauled site input field
......................................................................

(bug 45043) Overhauled site input field

Overhauled the site input field to fix bug 45043 and to totally
match the repo behaviour. Minor changes.

Change-Id: I2d24704f8f406d1c19d974c64044444e8ca17bb4
---
M client/resources/wbclient.linkItem.css
M client/resources/wbclient.linkItem.js
2 files changed, 22 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/60/49460/1

diff --git a/client/resources/wbclient.linkItem.css 
b/client/resources/wbclient.linkItem.css
index 885c03f..cc4acfe 100644
--- a/client/resources/wbclient.linkItem.css
+++ b/client/resources/wbclient.linkItem.css
@@ -15,7 +15,8 @@
        border-right: 1px solid black;
 }
 
-#wbclient-linkItem-dialog a {
+#wbclient-linkItem-dialog a,
+.wbclient-linkItem-not-loggedin-message a {
        color: #0645AD;
 }
 .wbclient-linkItem-Input {
diff --git a/client/resources/wbclient.linkItem.js 
b/client/resources/wbclient.linkItem.js
index 840d5f4..04f17d6 100644
--- a/client/resources/wbclient.linkItem.js
+++ b/client/resources/wbclient.linkItem.js
@@ -169,21 +169,26 @@
                                        .siteselector( {
                                                resultSet: getLinkableSites()
                                        } )
-                                       .on( 'siteselectorselect', function() {
+                                       .on( 'siteselectoropen 
siteselectorclose siteselectorautocomplete blur', function() {
                                                var apiUrl;
+
+                                               $( '#wbclient-linkItem-page' )
+                                                       .val( '' )
+                                                       .suggester( 'destroy' );
+
                                                try {
                                                        apiUrl = $( 
'#wbclient-linkItem-Site' ).siteselector( 'getSelectedSite' ).getApi();
                                                } catch( e ) {
-                                                       // Invalid input 
(likely incomplete)
-                                                       invalidSiteGiven();
+                                                       // Invalid input 
(likely incomplete). Disable the page input an re-disable to button
+                                                       $( 
'#wbclient-linkItem-page' )
+                                                               .attr( 
'disabled', 'disabled' );
+                                                       $goButton.button( 
'disable' );
                                                        return;
                                                }
                                                // If the language gets changed 
the yet selected page is no longer available so we clear the input element.
                                                // Furthermore we remove the 
old suggestor (if there's one) and create a new one working on the right wiki
                                                $( '#wbclient-linkItem-page' )
                                                        .removeAttr( 'disabled' 
)
-                                                       .val( '' )
-                                                       .suggester( 'destroy' )
                                                        .suggester( {
                                                                ajax: {
                                                                        url: 
apiUrl,
@@ -213,7 +218,7 @@
                                                disabled: 'disabled',
                                                'class' : 
'wbclient-linkItem-Input'
                                        } )
-                                       .one( 'focus', function() {
+                                       .on( 'focus', function() {
                                                // Enable the button by the 
time the user uses this field
                                                $goButton.button( 'enable' );
                                        } )
@@ -275,6 +280,8 @@
                if ( $( '#wbclient-linkItem-Site' ).siteselector( 
'getSelectedSite' ) ) {
                        targetSite = $( '#wbclient-linkItem-Site' 
).siteselector( 'getSelectedSite' ).getGlobalSiteId();
                } else {
+                       // This should never happen because the button 
shouldn't be enabled if the site isn't valid
+                       // ...keeping this for sanity and paranoia
                        invalidSiteGiven();
                        return;
                }
@@ -377,13 +384,13 @@
                        for ( i in entity.sitelinks ) {
                                if ( entity.sitelinks[ i ].site ) {
                                        siteLinkCount += 1;
-                               }
-                               if ( entity.sitelinks[ i ].site === 
mw.config.get( 'wbCurrentSite' ).globalSiteId ) {
-                                       // Abort as the entity already is 
linked with a page on this wiki
-                                       onError(
-                                               mw.message( 
'wikibase-linkitem-alreadylinked', itemLink, entity.sitelinks[ i ].title 
).parse()
-                                       );
-                                       return;
+                                       if ( entity.sitelinks[ i ].site === 
mw.config.get( 'wbCurrentSite' ).globalSiteId ) {
+                                               // Abort as the entity already 
is linked with a page on this wiki
+                                               onError(
+                                                       mw.message( 
'wikibase-linkitem-alreadylinked', itemLink, entity.sitelinks[ i ].title 
).parse()
+                                               );
+                                               return;
+                                       }
                                }
                        }
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2d24704f8f406d1c19d974c64044444e8ca17bb4
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Hoo man <[email protected]>

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

Reply via email to