From: Timo Tijhof Date: Fri, 4 May 2018 01:42:55 +0000 (+0100) Subject: moment: Put src files for moment in their own directory X-Git-Tag: 1.34.0-rc.0~5529^2 X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dcompta/comptes/%7B%24www_url%7Dadmin/compta/pie.php?a=commitdiff_plain;h=96ba4ff44f49ea12598ae9a0554e4e4751fbcb41;p=lhc%2Fweb%2Fwiklou.git moment: Put src files for moment in their own directory Change-Id: Id4eaf32186e4a9414bb25cb6c08dc18ae4a8ad92 --- diff --git a/resources/Resources.php b/resources/Resources.php index f7c860e561..095ca75f10 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -728,7 +728,7 @@ return [ 'moment' => [ 'scripts' => [ // HACK: For some reason if you don't define window.moment first, loading moment fatals - 'resources/src/moment-global.js', + 'resources/src/moment/moment-global.js', 'resources/lib/moment/moment.js', ], 'languageScripts' => [ @@ -755,7 +755,7 @@ return [ 'de-ch' => 'resources/lib/moment/locale/de-ch.js', 'dv' => 'resources/lib/moment/locale/dv.js', 'el' => 'resources/lib/moment/locale/el.js', - 'en' => 'resources/src/moment-dmy.js', + 'en' => 'resources/src/moment/moment-dmy.js', 'en-au' => 'resources/lib/moment/locale/en-au.js', 'en-ca' => 'resources/lib/moment/locale/en-ca.js', 'en-gb' => 'resources/lib/moment/locale/en-gb.js', @@ -843,7 +843,7 @@ return [ // after locale definitions 'skinScripts' => [ 'default' => [ - 'resources/src/moment-locale-overrides.js', + 'resources/src/moment/moment-locale-overrides.js', ], ], 'dependencies' => [ diff --git a/resources/src/moment-dmy.js b/resources/src/moment-dmy.js deleted file mode 100644 index 2b7ca16183..0000000000 --- a/resources/src/moment-dmy.js +++ /dev/null @@ -1,16 +0,0 @@ -// Use DMY date format for Moment.js, in accordance with MediaWiki's date formatting routines. -// This affects English only (and languages without localisations, that fall back to English). -// http://momentjs.com/docs/#/customization/long-date-formats/ -/* global moment */ -moment.updateLocale( 'en', { - longDateFormat: { - // Unchanged, but have to be repeated here: - LT: 'h:mm A', - LTS: 'h:mm:ss A', - // Customized: - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY LT', - LLLL: 'dddd, D MMMM YYYY LT' - } -} ); diff --git a/resources/src/moment-global.js b/resources/src/moment-global.js deleted file mode 100644 index ba01a240f6..0000000000 --- a/resources/src/moment-global.js +++ /dev/null @@ -1,2 +0,0 @@ -// Back-compat: Export module as global -window.moment = module.exports; diff --git a/resources/src/moment-locale-overrides.js b/resources/src/moment-locale-overrides.js deleted file mode 100644 index bafb86a227..0000000000 --- a/resources/src/moment-locale-overrides.js +++ /dev/null @@ -1,44 +0,0 @@ -/* global mediaWiki, moment */ - -( function ( mw ) { - // HACK: Overwrite moment's i18n with MediaWiki's for the current language so that - // wgTranslateNumerals is respected. - moment.updateLocale( moment.locale(), { - preparse: function ( s ) { - var i, - table = mw.language.getDigitTransformTable(); - if ( mw.config.get( 'wgTranslateNumerals' ) ) { - for ( i = 0; i < 10; i++ ) { - if ( table[ i ] !== undefined ) { - s = s.replace( new RegExp( mw.RegExp.escape( table[ i ] ), 'g' ), i ); - } - } - } - // HACK: momentjs replaces commas in some languages, which is the only other use of preparse - // aside from digit transformation. We can only override preparse, not extend it, so we - // have to replicate the comma replacement functionality here. - if ( [ 'ar', 'ar-sa', 'fa' ].indexOf( mw.config.get( 'wgUserLanguage' ) ) !== -1 ) { - s = s.replace( /،/g, ',' ); - } - return s; - }, - postformat: function ( s ) { - var i, - table = mw.language.getDigitTransformTable(); - if ( mw.config.get( 'wgTranslateNumerals' ) ) { - for ( i = 0; i < 10; i++ ) { - if ( table[ i ] !== undefined ) { - s = s.replace( new RegExp( i, 'g' ), table[ i ] ); - } - } - } - // HACK: momentjs replaces commas in some languages, which is the only other use of postformat - // aside from digit transformation. We can only override postformat, not extend it, so we - // have to replicate the comma replacement functionality here. - if ( [ 'ar', 'ar-sa', 'fa' ].indexOf( mw.config.get( 'wgUserLanguage' ) ) !== -1 ) { - s = s.replace( /,/g, '،' ); - } - return s; - } - } ); -}( mediaWiki ) ); diff --git a/resources/src/moment/moment-dmy.js b/resources/src/moment/moment-dmy.js new file mode 100644 index 0000000000..2b7ca16183 --- /dev/null +++ b/resources/src/moment/moment-dmy.js @@ -0,0 +1,16 @@ +// Use DMY date format for Moment.js, in accordance with MediaWiki's date formatting routines. +// This affects English only (and languages without localisations, that fall back to English). +// http://momentjs.com/docs/#/customization/long-date-formats/ +/* global moment */ +moment.updateLocale( 'en', { + longDateFormat: { + // Unchanged, but have to be repeated here: + LT: 'h:mm A', + LTS: 'h:mm:ss A', + // Customized: + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY LT', + LLLL: 'dddd, D MMMM YYYY LT' + } +} ); diff --git a/resources/src/moment/moment-global.js b/resources/src/moment/moment-global.js new file mode 100644 index 0000000000..ba01a240f6 --- /dev/null +++ b/resources/src/moment/moment-global.js @@ -0,0 +1,2 @@ +// Back-compat: Export module as global +window.moment = module.exports; diff --git a/resources/src/moment/moment-locale-overrides.js b/resources/src/moment/moment-locale-overrides.js new file mode 100644 index 0000000000..bafb86a227 --- /dev/null +++ b/resources/src/moment/moment-locale-overrides.js @@ -0,0 +1,44 @@ +/* global mediaWiki, moment */ + +( function ( mw ) { + // HACK: Overwrite moment's i18n with MediaWiki's for the current language so that + // wgTranslateNumerals is respected. + moment.updateLocale( moment.locale(), { + preparse: function ( s ) { + var i, + table = mw.language.getDigitTransformTable(); + if ( mw.config.get( 'wgTranslateNumerals' ) ) { + for ( i = 0; i < 10; i++ ) { + if ( table[ i ] !== undefined ) { + s = s.replace( new RegExp( mw.RegExp.escape( table[ i ] ), 'g' ), i ); + } + } + } + // HACK: momentjs replaces commas in some languages, which is the only other use of preparse + // aside from digit transformation. We can only override preparse, not extend it, so we + // have to replicate the comma replacement functionality here. + if ( [ 'ar', 'ar-sa', 'fa' ].indexOf( mw.config.get( 'wgUserLanguage' ) ) !== -1 ) { + s = s.replace( /،/g, ',' ); + } + return s; + }, + postformat: function ( s ) { + var i, + table = mw.language.getDigitTransformTable(); + if ( mw.config.get( 'wgTranslateNumerals' ) ) { + for ( i = 0; i < 10; i++ ) { + if ( table[ i ] !== undefined ) { + s = s.replace( new RegExp( i, 'g' ), table[ i ] ); + } + } + } + // HACK: momentjs replaces commas in some languages, which is the only other use of postformat + // aside from digit transformation. We can only override postformat, not extend it, so we + // have to replicate the comma replacement functionality here. + if ( [ 'ar', 'ar-sa', 'fa' ].indexOf( mw.config.get( 'wgUserLanguage' ) ) !== -1 ) { + s = s.replace( /,/g, '،' ); + } + return s; + } + } ); +}( mediaWiki ) );