MediaWiki:Geonotice.js

Idag är MediaWiki:Geonotice.js ett ämne av stort intresse och relevans i dagens samhälle. Med teknologins framsteg och globaliseringen har MediaWiki:Geonotice.js blivit ett ämne som täcker olika aspekter av det dagliga livet, från hur vi kommunicerar till hur vi utför våra dagliga aktiviteter. MediaWiki:Geonotice.js är ett koncept som har fångat uppmärksamheten hos akademiker, yrkesverksamma och allmänheten, på grund av dess inverkan inom olika områden, såsom ekonomi, politik, hälsa, utbildning och miljö. I den här artikeln kommer vi att utforska innebörden och betydelsen av MediaWiki:Geonotice.js, såväl som dess implikationer i dagens samhälle.
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Watchlist' ) {
	$( function() {
		'use strict';
		$.getJSON( mw.config.get( 'wgScript' ) + '?title=MediaWiki:Geonotice.json&action=raw&ctype=text/json', function( notices ) {
			var index;
			function parse( wikitext ) {
				function addNotice( html ) {
					var now = Date.now();
					var notice = notices;
					var minlat;
					var maxlat;
					var minlon;
					var maxlon;
					var id = notice.id;
					if ( window.Geo ) {
						if ( mw.cookie.get( 'hidegeonotice' + id ) === null ) {
							if ( notice && notice.corners ) {
								minlat = Math.min( notice.corners, notice.corners );
								maxlat = Math.max( notice.corners, notice.corners );
								minlon = Math.min( notice.corners, notice.corners );
								maxlon = Math.max( notice.corners, notice.corners );
								if ( now > Date.parse( notice.begin ) && now < Date.parse( notice.end ) && minlat < Geo.lat && Geo.lat < maxlat && minlon < Geo.lon && Geo.lon < maxlon ) {
									$( '#mw-content-text' ).prepend( '<div class="geonotice plainlinks" data-geonotice="' + mw.html.escape( id ) + '"><span class="geonotice-hide"></span><div class="geonotice-text">' + html + '</div></div>' );
								}
							}
						}
					}
					index = index + 1;
					if ( index < notices.length ) {
						parse( notices.wikitext );
					}
				}
				( new mw.Api() ).parse( wikitext ).done( function( html ) {
					addNotice( html );
				} );
			}
			if ( Array.isArray( notices ) ) {
				index = 0;
				parse( notices.wikitext );
			}
		} );
		$( '#mw-content-text' ).on( 'click', '.geonotice-hide a', function( e ) {
			e.preventDefault();
			var notice = $( e.currentTarget ).closest( '.geonotice' );
			var id = notice.attr( 'data-geonotice' );
			mw.cookie.set( 'hidegeonotice' + id, '1' );
			notice.addClass( 'geonotice-hidden' );
		} );
	} );
}