112
edits
No edit summary Tag: Reverted |
No edit summary Tags: Undo Reverted |
||
Line 1: | Line 1: | ||
/* | |||
@Author [[User:Jayprakash12345]] | |||
@OwnBy [[meta:Indic-TechCom]] | |||
*/ | |||
var IndicOCR = function () { | var IndicOCR = function () { | ||
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { | |||
'section': 'main', | 'section': 'main', | ||
'group': 'insert', | 'group': 'insert', | ||
Line 12: | Line 16: | ||
type: 'callback', | type: 'callback', | ||
execute: function () { | execute: function () { | ||
var toolUrl = "//indic-ocr.toolforge.org/getOCR"; | |||
lang = mw.config.get( 'wgContentLanguage' ); | |||
loadingGifUrl = '//upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif'; | |||
showLoadingMsg( 'OCR is in process.' ); | |||
if ( $( '.prp-page-image img' ).length === 0 ) { | |||
mw.notify( 'Proofread Image not found.' ); | |||
} | |||
var imageUrl = $( '.prp-page-image img' ).attr('src'); | |||
var requestUrl; | |||
if( imageUrl.indexOf("wiki.ekatrafoundation.org") === -1){ | |||
requestUrl = toolUrl + "?imageurl=https://wiki.ekatrafoundation.org" + imageUrl + "&langcode="+lang+ "&api=True"; | |||
} else { | |||
requestUrl = toolUrl + "?imageurl=" + imageUrl + "&langcode="+lang+ "&api=True"; | |||
} | |||
$.getJSON( requestUrl ) | |||
.done( processOcrResult ) | |||
.fail( processOcrResult ) // Same handler, for simplicity. | |||
.always( function () { showLoadingMsg( '' ); } ); | |||
} | } | ||
} | } | ||
Line 54: | Line 44: | ||
function processOcrResult( response ) { | |||
if ( response.responseJSON !== undefined && response.responseJSON.error ) { | |||
mw.notify( mw.message( 'error' ) + ' ' + response.responseJSON.error.code + ' ' + response.responseJSON.error.message ); | |||
return; | |||
} | |||
if ( response.text === undefined || response.text.length === 0 ) { | |||
mw.notify( "No OCR text." ); | |||
return; | |||
} | |||
$( '#wpTextbox1' ).val( response.text ); | |||
} | |||
function showLoadingMsg( msgLabel ) { | |||
var msg, loadingGif, | |||
loadingId = 'GoogleOcrLoading'; | |||
// Always remove any existing message. | |||
$( '#' + loadingId ).remove(); | |||
// Add the new message if required. | |||
if ( msgLabel.length !== 0 ) { | |||
msgBox = $( "<p>" ) | |||
.attr( "id", loadingId ) | |||
.css( "background-color", "#efefef" ).css( "border", "1px solid #ccc" ) | |||
.text( msgLabel ); | |||
loadingGif = $( "<img>" ) | |||
.attr( "src", loadingGifUrl ) | |||
.attr( "alt", "Animated loading indicator" ) | |||
.css( "display", "inline-block" ).css( "margin", "0.3em" ); | |||
msgBox.prepend( loadingGif ); | |||
$( '#wpTextbox1' ).before( msgBox ); | |||
} | |||
} | |||
}; | }; | ||
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */ | |||
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) { | if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) { | ||
if ( mw.config.get( 'wgCanonicalNamespace' ) === 'Page' ) { | |||
$.when( mw.loader.using( 'ext.wikiEditor' ), $.ready) | |||
.then( IndicOCR ); | |||
} | |||
} | } |