diff --git a/extension.json b/extension.json
index 314327f..325d2a4 100644
--- a/extension.json
+++ b/extension.json
@@ -15,7 +15,8 @@
"MimeMagicImproveFromExtension": "GlModelViewer::onMimeMagicImproveFromExtension",
"BeforePageDisplay": "GlModelViewer::onBeforePageDisplay",
"ImageBeforeProduceHTML": "GlModelViewer::onImageBeforeProduceHTML",
- "ImageOpenShowImageInlineBefore": "GlModelViewer::onImageOpenShowImageInlineBefore"
+ "ImageOpenShowImageInlineBefore": "GlModelViewer::onImageOpenShowImageInlineBefore",
+ "AlternateEditPreview": "GlModelViewer::onAlternateEditPreview"
},
"ResourceFileModulePaths": {
"localBasePath": "modules",
diff --git a/includes/GlModelViewer.php b/includes/GlModelViewer.php
index 85f9dae..cd832f5 100644
--- a/includes/GlModelViewer.php
+++ b/includes/GlModelViewer.php
@@ -1,4 +1,5 @@
addModules('ext.glmv');
$viewer = self::buildViewer($file,['class' => 'view-default']);
$out->addHtml(Html::rawElement('div',['id' => 'file', 'class' => 'fullModelView'],$viewer));
- #echo '';
+ }
+
+ public static function onAlternateEditPreview( EditPage $editor, Content $content, string &$previewHTML, ?ParserOutput &$parserOutput ) {
+ $file = MediaWikiServices::getInstance()->getRepoGroup()->findFile($editor->getTitle());
+ if ($file->getMimeType() !== 'model/gltf-binary') {
+ return true;
+ }
+ $out = $editor->getContext()->getOutput();
+ $out->addModules('ext.glmv');
+ $previewHTML = self::buildViewer($file,['class' => 'view-default']);
+
+ return false;
}
private static function buildViewer($file, $frameParams) {
@@ -83,6 +91,11 @@ class GlModelViewer extends ImageHandler {
}
public static function console_log($data, $add_script_tags = false) {
+ #Usage:
+ #echo '';
+
$command = 'console.log('. json_encode($data, JSON_HEX_TAG).');';
if ($add_script_tags) {
$command = '';