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