From 36c36dd16e6cebe0a6e171a2749ccd92618e6612 Mon Sep 17 00:00:00 2001 From: Justin Georgi Date: Fri, 25 Oct 2024 18:59:04 -0700 Subject: [PATCH] Add model-viewer script via MW php method Signed-off-by: Justin Georgi --- includes/GlModelViewer.php | 7 +++++-- modules/glmv.js | 6 ------ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/includes/GlModelViewer.php b/includes/GlModelViewer.php index 6852918..baab1d1 100644 --- a/includes/GlModelViewer.php +++ b/includes/GlModelViewer.php @@ -39,6 +39,11 @@ class GlModelViewer extends ImageHandler { public static function onBeforePageDisplay(OutputPage $out) { preg_match('/(getHTML(),$findGltf); if ($findGltf[0]) { + $mvScriptAttr = array( + 'src' => 'https://ajax.googleapis.com/ajax/libs/model-viewer/3.5.0/model-viewer.min.js', + 'type' => 'module' + ); + $out->addHeadItems(Html::rawElement('script',$mvScriptAttr)); $out->addModules('ext.glmv'); } } @@ -80,8 +85,6 @@ class GlModelViewer extends ImageHandler { public static function onImageOpenShowImageInlineBefore( $imagepage, $out ){ $file = $imagepage->getFile(); if ($file->getMimeType() == 'model/gltf-binary') { - $out->addModules('ext.glmv'); - $viewer = self::buildViewer($file->getDescriptionText(), $file->getFullUrl(), ['class' => 'view-default']); $out->addHtml(Html::rawElement('div',['id' => 'file', 'class' => 'fullModelView'],$viewer)); } diff --git a/modules/glmv.js b/modules/glmv.js index 85c1808..8675115 100644 --- a/modules/glmv.js +++ b/modules/glmv.js @@ -1,9 +1,3 @@ -let modelLoad = document.createElement('script') -modelLoad.setAttribute('type','module') -modelLoad.setAttribute('src','https://ajax.googleapis.com/ajax/libs/model-viewer/3.5.0/model-viewer.min.js') -let headElem = document.getElementsByTagName('head')[0] -headElem.appendChild(modelLoad) - /** * Sets listener and attributes on model-viewer to * allow for click registering of a new hotspot