mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiEditor
synced 2024-11-23 15:57:15 +00:00
RealtimePreview: add config setting for debounce time
Change-Id: Iaf49f076c5a290ab9049267b0aede1e6b13a9136
This commit is contained in:
parent
48d9696e7d
commit
68e6561857
|
@ -413,6 +413,10 @@
|
|||
"WikiEditorRealtimePreview": {
|
||||
"description": "Whether to enable the Realtime Preview feature.",
|
||||
"value": false
|
||||
},
|
||||
"WikiEditorRealtimePreviewDebounce": {
|
||||
"description": "Debounce time in milliseconds for the Realtime Preview feature.",
|
||||
"value": 2500
|
||||
}
|
||||
},
|
||||
"manifest_version": 2
|
||||
|
|
|
@ -356,7 +356,8 @@ class Hooks implements
|
|||
return [
|
||||
// expose magic words for use by the wikieditor toolbar
|
||||
'magicWords' => self::getMagicWords(),
|
||||
'signature' => self::getSignatureMessage( $context )
|
||||
'signature' => self::getSignatureMessage( $context ),
|
||||
'realtimeDebounce' => $config->get( 'WikiEditorRealtimePreviewDebounce' ),
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ var TwoPaneLayout = require( './TwoPaneLayout.js' );
|
|||
* @class
|
||||
*/
|
||||
function RealtimePreview() {
|
||||
this.configData = mw.loader.moduleRegistry[ 'ext.wikiEditor' ].script.files[ 'data.json' ];
|
||||
this.enabled = false;
|
||||
this.twoPaneLayout = new TwoPaneLayout();
|
||||
this.pagePreview = require( 'mediawiki.page.preview' );
|
||||
|
@ -54,7 +55,6 @@ RealtimePreview.prototype.getToolbarButton = function ( context ) {
|
|||
* Toggle the two-pane preview display.
|
||||
*
|
||||
* @private
|
||||
* @param {Object} context The WikiEditor context object.
|
||||
*/
|
||||
RealtimePreview.prototype.toggle = function () {
|
||||
var $uiText = this.context.$ui.find( '.wikiEditor-ui-text' );
|
||||
|
@ -107,7 +107,10 @@ RealtimePreview.prototype.addPreviewListener = function ( $editor ) {
|
|||
// Also get preview on keyup, change, paste etc.
|
||||
$editor
|
||||
.off( this.eventNames )
|
||||
.on( this.eventNames, mw.util.debounce( 2000, this.doRealtimePreview.bind( this ) ) );
|
||||
.on( this.eventNames, mw.util.debounce(
|
||||
this.doRealtimePreview.bind( this ),
|
||||
this.configData.realtimeDebounce
|
||||
) );
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue