Browse Source

allow a 'startPane' parameter to the editor

Gregg Tavares 7 years ago
parent
commit
3e59cb4102
2 changed files with 14 additions and 1 deletions
  1. 13 0
      build/js/build.js
  2. 1 1
      build/templates/example.template

+ 13 - 0
build/js/build.js

@@ -70,6 +70,16 @@ function replaceParams(str, params) {
   return template(params);
   return template(params);
 }
 }
 
 
+function encodeParams(params) {
+  const values = Object.values(params).filter(v => v);
+  if (!values.length) {
+    return '';
+  }
+  return '&' + Object.entries(params).map((kv) => {
+    return `${encodeURIComponent(kv[0])}=${encodeURIComponent(kv[1])}`;
+  }).join('&');
+}
+
 function encodeQuery(query) {
 function encodeQuery(query) {
   if (!query) {
   if (!query) {
     return '';
     return '';
@@ -126,6 +136,9 @@ Handlebars.registerHelper('example', function(options) {
   options.hash.examplePath = options.data.root.examplePath;
   options.hash.examplePath = options.data.root.examplePath;
   options.hash.encodedUrl = encodeURIComponent(encodeUrl(options.hash.url));
   options.hash.encodedUrl = encodeURIComponent(encodeUrl(options.hash.url));
   options.hash.url = encodeUrl(options.hash.url);
   options.hash.url = encodeUrl(options.hash.url);
+  options.hash.params = encodeParams({
+    startPane: options.hash.startPane,
+  });
   return templateManager.apply("build/templates/example.template", options.hash);
   return templateManager.apply("build/templates/example.template", options.hash);
 });
 });
 
 

+ 1 - 1
build/templates/example.template

@@ -1,5 +1,5 @@
 <div class="threejs_example_container">
 <div class="threejs_example_container">
-  <iframe class="threejs_example" style="{{width}} {{height}}" src="/threejs/resources/editor.html?url={{{examplePath}}}{{{encodedUrl}}}"></iframe>
+  <iframe class="threejs_example" style="{{width}} {{height}}" src="/threejs/resources/editor.html?url={{{examplePath}}}{{{encodedUrl}}}{{{params}}}"></iframe>
   <a class="threejs_center" href="{{{examplePath}}}{{{url}}}" target="_blank">{{{caption}}}</a>
   <a class="threejs_center" href="{{{examplePath}}}{{{url}}}" target="_blank">{{{caption}}}</a>
 </div>
 </div>