Jdlrobson has uploaded a new change for review.
https://gerrit.wikimedia.org/r/235655
Change subject: Do not load Mustache and Hogan on mobile
......................................................................
Do not load Mustache and Hogan on mobile
This patch introduces a ResourceLoader module that allows us to ship Hogan
templates
to MobileFrontend and Mustache to core. This should be useful (maybe later in
MobileFrontend)
for porting our existing mobile templates to Mustache.
Bug: T111292
Change-Id: Ieae64fbe277dcb00d7ebcf1d655251bc6d29b988
---
M extension.json
A includes/ResourceLoaderMuhoganModule.php
R resources/ext.quicksurveys.views/finalPanel.muhogan
R resources/ext.quicksurveys.views/initialPanel.muhogan
A resources/mediawiki.template.muhogan/init.js
5 files changed, 51 insertions(+), 2 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/QuickSurveys
refs/changes/55/235655/1
diff --git a/extension.json b/extension.json
index 79edd2e..1869db7 100644
--- a/extension.json
+++ b/extension.json
@@ -24,6 +24,16 @@
"remoteExtPath": "QuickSurveys"
},
"ResourceModules": {
+ "mediawiki.template.muhogan": {
+ "class": "QuickSurveys\\ResourceLoaderMuHoganModule",
+ "scripts": [
+ "resources/mediawiki.template.muhogan/init.js"
+ ],
+ "targets": [
+ "mobile",
+ "desktop"
+ ]
+ },
"ext.quicksurveys.views": {
"dependencies": [
"oojs-ui",
@@ -34,8 +44,8 @@
"desktop"
],
"templates": {
- "finalPanel.mustache":
"resources/ext.quicksurveys.views/finalPanel.mustache",
- "initialPanel.mustache":
"resources/ext.quicksurveys.views/initialPanel.mustache"
+ "finalPanel.muhogan":
"resources/ext.quicksurveys.views/finalPanel.muhogan",
+ "initialPanel.muhogan":
"resources/ext.quicksurveys.views/initialPanel.muhogan"
},
"messages": [
"ext-quicksurveys-survey-privacy-policy-default-text",
@@ -75,6 +85,7 @@
}
},
"AutoloadClasses": {
+ "QuickSurveys\\ResourceLoaderMuHoganModule":
"includes/ResourceLoaderMuhoganModule.php",
"QuickSurveys\\Hooks": "includes/QuickSurveys.hooks.php",
"QuickSurveys\\SurveyFactory": "includes/SurveyFactory.php",
"QuickSurveys\\Survey": "includes/Survey.php",
diff --git a/includes/ResourceLoaderMuhoganModule.php
b/includes/ResourceLoaderMuhoganModule.php
new file mode 100644
index 0000000..e43b53b
--- /dev/null
+++ b/includes/ResourceLoaderMuhoganModule.php
@@ -0,0 +1,23 @@
+<?php
+namespace QuickSurveys;
+use ResourceLoaderFileModule;
+use ResourceLoaderContext;
+
+/**
+ * A ResourceLoader module that serves Hogan or Mustache depending on the
current target.
+ * All muhogan modules must be compatible with both Hogan and Mustache
templating languages.
+ */
+class ResourceLoaderMuHoganModule extends ResourceLoaderFileModule {
+ /**
+ * @inheritdoc
+ */
+ public function getDependencies( ResourceLoaderContext $context = null
) {
+ $deps = parent::getDependencies( $context );
+ if ( $context->getRequest()->getVal( 'target' ) === 'mobile' ) {
+ $deps[] = 'mediawiki.template.hogan';
+ } else {
+ $deps[] = 'mediawiki.template.mustache';
+ }
+ return $deps;
+ }
+}
diff --git a/resources/ext.quicksurveys.views/finalPanel.mustache
b/resources/ext.quicksurveys.views/finalPanel.muhogan
similarity index 100%
rename from resources/ext.quicksurveys.views/finalPanel.mustache
rename to resources/ext.quicksurveys.views/finalPanel.muhogan
diff --git a/resources/ext.quicksurveys.views/initialPanel.mustache
b/resources/ext.quicksurveys.views/initialPanel.muhogan
similarity index 100%
rename from resources/ext.quicksurveys.views/initialPanel.mustache
rename to resources/ext.quicksurveys.views/initialPanel.muhogan
diff --git a/resources/mediawiki.template.muhogan/init.js
b/resources/mediawiki.template.muhogan/init.js
new file mode 100644
index 0000000..d00e085
--- /dev/null
+++ b/resources/mediawiki.template.muhogan/init.js
@@ -0,0 +1,15 @@
+// Register the Hogan compiler with MediaWiki.
+( function () {
+ var compiler;
+ /*
+ * Mustache/Hogan template compiler
+ */
+ try {
+ compiler = mw.template.getCompiler( 'mustache' );
+ } catch ( e ) {
+ compiler = mw.template.getCompiler( 'hogan' );
+ }
+
+ // register hybrid compiler with core
+ mw.template.registerCompiler( 'muhogan', compiler );
+}() );
--
To view, visit https://gerrit.wikimedia.org/r/235655
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ieae64fbe277dcb00d7ebcf1d655251bc6d29b988
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/QuickSurveys
Gerrit-Branch: dev
Gerrit-Owner: Jdlrobson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits