MediaWiki:Common.js: различия между версиями
Материал из melioration.space
Sonys (обсуждение | вклад) |
Sonys (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
mw.hook( 've.activationComplete' ).add( function() { | mw.hook( 've.activationComplete' ).add( function() { | ||
console.log("Назначение"); | 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 () { | |
console.log("Обновление"); | console.log("Обновление"); | ||
try | 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){ | } catch(err){ | ||
console.log('Error in Gadget-Rechtschreibpruefung.js:documentUpdate'); | console.log('Error in Gadget-Rechtschreibpruefung.js:documentUpdate'); | ||
Версия 19:23, 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);
}
} );
});