Diferencia entre revisiones de «MediaWiki:Gadget-Biblia.js»
De EIFA - Estudios Interdisciplinares de las Fuentes Avilistas
Etiqueta: Revertido |
|||
| Línea 12: | Línea 12: | ||
ve.init.target.getWikitextFragment( docRange, false ).done( function ( wikitext ) { | ve.init.target.getWikitextFragment( docRange, false ).done( function ( wikitext ) { | ||
var htmlfrag = model.getFragment().insertHtml('<bible>'+wikitext+'</bible>'); | var htmlfrag = model.getFragment().insertHtml('<bible>'+wikitext+'</bible>'); | ||
console.log( | |||
const getCircularReplacer = function () { | |||
const seen = new WeakSet(); | |||
return function (key, value) { | |||
if (typeof value === 'object' && value !== null) { | |||
if (seen.has(value)) { | |||
return; | |||
} | |||
seen.add(value); | |||
} | |||
return value; | |||
}; | |||
}; | |||
const myjson = JSON.stringify(htmlfrag, getCircularReplacer()); | |||
console.log(myjson); | |||
} ); | } ); | ||
}; | }; | ||
Revisión del 22:04 4 ene 2023
ve.ui.BibliaCommand = function VeUiBibliaCommand() {
ve.ui.BibliaCommand.super.call( this, 'Biblia' );
};
OO.inheritClass( ve.ui.BibliaCommand, ve.ui.Command );
ve.ui.BibliaCommand.prototype.execute = function ( surface ) {
var model = surface.getModel(),
doc = model.getDocument(),
range = model.getSelection().getRange(),
docRange = doc.shallowCloneFromRange( range );
ve.init.target.getWikitextFragment( docRange, false ).done( function ( wikitext ) {
var htmlfrag = model.getFragment().insertHtml('<bible>'+wikitext+'</bible>');
const getCircularReplacer = function () {
const seen = new WeakSet();
return function (key, value) {
if (typeof value === 'object' && value !== null) {
if (seen.has(value)) {
return;
}
seen.add(value);
}
return value;
};
};
const myjson = JSON.stringify(htmlfrag, getCircularReplacer());
console.log(myjson);
} );
};
ve.ui.commandRegistry.register( new ve.ui.BibliaCommand() );
ve.ui.BibliaTool = function VeUiBibliaTool() {
ve.ui.BibliaTool.super.apply( this, arguments );
};
OO.inheritClass( ve.ui.BibliaTool, ve.ui.Tool );
ve.ui.BibliaTool.static.name = 'Biblia';
ve.ui.BibliaTool.static.group = 'cite';
ve.ui.BibliaTool.static.icon = 'book';
ve.ui.BibliaTool.static.title = 'Biblia';
ve.ui.BibliaTool.static.commandName = 'Biblia';
ve.ui.toolFactory.register( ve.ui.BibliaTool );