X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.special%2Fmediawiki.special.preferences.js;h=a756f22d4d3c141f26dbfda2363011f7d5878f8a;hb=4479b71b4176eb90bb8c26be25095da10dec979b;hp=92064a698c1345ee0dc8cbafd4c6983187625e9e;hpb=f2c0bc6639c4642c4ae738335dbfee4beb7ae944;p=lhc%2Fweb%2Fwiklou.git
diff --git a/resources/src/mediawiki.special/mediawiki.special.preferences.js b/resources/src/mediawiki.special/mediawiki.special.preferences.js
index 92064a698c..a756f22d4d 100644
--- a/resources/src/mediawiki.special/mediawiki.special.preferences.js
+++ b/resources/src/mediawiki.special/mediawiki.special.preferences.js
@@ -210,19 +210,27 @@
var minuteDiff, localTime,
type = $tzSelect.val();
- if ( type === 'guess' ) {
- // Get browser timezone & fill it in
- minuteDiff = -( new Date().getTimezoneOffset() );
- $tzTextbox.val( minutesToHours( minuteDiff ) );
- $tzSelect.val( 'other' );
- $tzTextbox.prop( 'disabled', false );
- } else if ( type === 'other' ) {
+ if ( type === 'other' ) {
+ // User specified time zone manually in
// Grab data from the textbox, parse it.
minuteDiff = hoursToMinutes( $tzTextbox.val() );
} else {
- // Grab data from the $tzSelect value
- minuteDiff = parseInt( type.split( '|' )[ 1 ], 10 ) || 0;
- $tzTextbox.val( minutesToHours( minuteDiff ) );
+ // Time zone not manually specified by user
+ if ( type === 'guess' ) {
+ // Get browser timezone & fill it in
+ minuteDiff = -( new Date().getTimezoneOffset() );
+ $tzTextbox.val( minutesToHours( minuteDiff ) );
+ $tzSelect.val( 'other' );
+ $tzTextbox.prop( 'disabled', false );
+ } else {
+ // Grab data from the $tzSelect value
+ minuteDiff = parseInt( type.split( '|' )[ 1 ], 10 ) || 0;
+ $tzTextbox.val( minutesToHours( minuteDiff ) );
+ }
+
+ // Set defaultValue prop on the generated box so we don't trigger the
+ // unsaved preferences check
+ $tzTextbox.prop( 'defaultValue', $tzTextbox.val() );
}
// Determine local time from server time and minutes difference, for display.
@@ -258,7 +266,7 @@
// Check if all of the form values are unchanged
function isPrefsChanged() {
- var inputs = $( '#mw-prefs-form :input' ),
+ var inputs = $( '#mw-prefs-form :input[name]' ),
input, $input, inputType,
index, optIndex,
opt;
@@ -268,7 +276,8 @@
$input = $( input );
// Different types of inputs have different methods for accessing defaults
- if ( $input.is( 'select' ) ) { //