MediaWiki:Common.js: различия между версиями

Материал из melioration.space
Строка 1: Строка 1:
function setup() {
 
    var mathUpdater = new $.Deferred();
 
    if ( mathUpdaterLs ) {
 
        mathUpdater.resolve();
 
    } else {
 
        mw.loader.using(['wikibase.api.RepoApi', 'wikibase.client.getMwApiForRepo'], function(){
 
            var repoApi = new wikibase.api.RepoApi(wikibase.client.getMwApiForRepo());
 
            repoApi.getEntities( wbSpellCheck, 'sitelinks').done( function( data ) {
 
                var currSite = mw.config.get( 'wgDBname' );
 
                if ( data.entities && data.entities.hasOwnProperty( wbSpellCheck ) && data.entities[wbSpellCheck].sitelinks && data.entities[wbSpellCheck].sitelinks.hasOwnProperty( currSite ) ) {
 
                    mispellsList = data.entities[wbSpellCheck].sitelinks[currSite].title;
 
                    try {
 
                        localStorage.mathUpdaterLs = mathUpdaterLs;
 
                    } catch(e) {
 
                        $.cookie( 'mispellsList', mathUpdaterLs );
 
                    }
 
                    mathUpdater.resolve();
 
                } else {
 
                    mw.notify( $( errors.installError.replace('{0}', wbSpellCheck) ) );
 
                    mathUpdater.reject();
 
                }
 
            } );
 
        } );
 
    }
 
    return mathUpdater;
 
};
 
 
mw.hook( 've.activationComplete' ).add( function() {
 
mw.hook( 've.activationComplete' ).add( function() {
    setup().then( function(){
+
console.log("Назначение");
        var view =ve.init.target.getSurface().getView();
+
    var view =ve.init.target.getSurface().getView();
        var doc = view.getDocument();
+
    var doc = view.getDocument();
        var model = ve.init.target.getSurface().getModel();
+
    var model = ve.init.target.getSurface().getModel();
        //while editing - only on current node
+
    //while editing - only on current node
        model.on( 'documentUpdate', function () {
+
    model.on( 'documentUpdate', function () {
            try
+
    console.log("Обновление");
            {
+
        try
                var selection = model.getSelection().getRange(),
+
        {
                    node = selection && doc.getBranchNodeFromOffset( selection.start ),
+
            var selection = model.getSelection().getRange(),
                    originalSelection;
+
                node = selection && doc.getBranchNodeFromOffset( selection.start ),
                if ( !( node instanceof ve.ce.ContentBranchNode ) ) {
+
                originalSelection;
                    return;
+
            if ( !( node instanceof ve.ce.ContentBranchNode ) ) {
                }
+
                return;
                //remove spell errors from current node
 
                $( node.$element[0] ).find('.spellError').contents().unwrap();
 
                //view.surfaceObserver.disable();
 
                checkSpells( $( node.$element[0] ) );
 
                //reset selection
 
                    selection = model.getSelection().getRange();
 
                    originalSelection = view.getSelectionState( new ve.Range(selection.to, selection.to) );
 
               
 
                setTimeout( function () {
 
                    view.showSelectionState( originalSelection );
 
                } );
 
            } catch(err){
 
                console.log('Error in Gadget-Rechtschreibpruefung.js:documentUpdate');
 
                console.log(err);
 
 
             }
 
             }
         } );
+
            //remove spell errors from current node
} );
+
            $( node.$element[0] ).find('.spellError').contents().unwrap();
 +
            //view.surfaceObserver.disable();
 +
            checkSpells( $( node.$element[0] ) );
 +
            //reset selection
 +
                selection = model.getSelection().getRange();
 +
                originalSelection = view.getSelectionState( new ve.Range(selection.to, selection.to) );
 +
           
 +
            setTimeout( function () {
 +
                view.showSelectionState( originalSelection );
 +
            } );
 +
         } catch(err){
 +
            console.log('Error in Gadget-Rechtschreibpruefung.js:documentUpdate');
 +
            console.log(err);
 +
        }
 +
    } );
 
});
 
});

Версия 19:17, 25 декабря 2020

mw.hook( 've.activationComplete' ).add( function() {
	console.log("Назначение");
    var view =ve.init.target.getSurface().getView();
    var doc = view.getDocument();
    var model = ve.init.target.getSurface().getModel();
    //while editing - only on current node
    model.on( 'documentUpdate', function () {
    	console.log("Обновление");
        try
        {
            var selection = model.getSelection().getRange(),
                node = selection && doc.getBranchNodeFromOffset( selection.start ),
                originalSelection;
            if ( !( node instanceof ve.ce.ContentBranchNode ) ) {
                return;
            }
            //remove spell errors from current node
            $( node.$element[0] ).find('.spellError').contents().unwrap();
            //view.surfaceObserver.disable();
            checkSpells( $( node.$element[0] ) );	
            //reset selection
                selection = model.getSelection().getRange();
                originalSelection = view.getSelectionState( new ve.Range(selection.to, selection.to) );
            
            setTimeout( function () {
                view.showSelectionState( originalSelection );
            } );
        } catch(err){
            console.log('Error in Gadget-Rechtschreibpruefung.js:documentUpdate');
            console.log(err);
        }
    } );
});