|
670 | 670 | const maxResults = 12; |
671 | 671 | if (s) { |
672 | 672 | const regexps = s.split(/\s/).filter(s => !!s).map(s => new RegExp(escapeRegExp(s), 'i')); |
673 | | - const results = []; |
| 673 | + const sceneResults = []; |
674 | 674 | for (let i = 0; i < scenesJson.length; i++) { |
675 | 675 | const site = scenesJson[i]; |
676 | 676 | if (regexps.some(regexp => regexp.test(site.label) || regexp.test(site.url))) { |
677 | | - results.push(site); |
678 | | - if (results.length >= maxResults) { |
| 677 | + sceneResults.push(site); |
| 678 | + if (sceneResults.length >= maxResults) { |
679 | 679 | break; |
680 | 680 | } |
681 | 681 | } |
682 | 682 | } |
683 | | - return results; |
| 683 | + console.log("scenes.json --- sceneResults = " + sceneResults); |
| 684 | + return sceneResults; |
684 | 685 | } else { |
| 686 | + console.log("scenes.json --- maxResults = " + maxResults); |
685 | 687 | return scenesJson.slice(0, maxResults); |
686 | 688 | } |
687 | 689 | }; |
|
3282 | 3284 | } |
3283 | 3285 | }; |
3284 | 3286 |
|
3285 | | - console.log(" ------ selectedTab = " + selectedTab); |
3286 | 3287 | if (selectedTab === 1) { |
3287 | 3288 | var searchResults = searchSitesJson(searchString); |
3288 | 3289 | } else if (selectedTab === 2) { |
3289 | | - var searchResults = searchScenesJson(searchString); |
| 3290 | + var sceneResults = searchScenesJson(searchString); |
3290 | 3291 | } |
3291 | 3292 |
|
3292 | 3293 | uiIframe.contentWindow.postMessage({ |
|
3295 | 3296 | htmlString: interfaceHtml, |
3296 | 3297 | templateData: { |
3297 | 3298 | searchResults, |
| 3299 | + sceneResults, |
3298 | 3300 | tab1: selectedTab === 1, |
3299 | 3301 | tab2: selectedTab === 2, |
3300 | 3302 | tab3: selectedTab === 3, |
|
3632 | 3634 | mesh.click = async (intersectionSpec, controllerIndex) => { |
3633 | 3635 | keyboardFocus = null; |
3634 | 3636 |
|
3635 | | - const {id, href, name} = intersectionSpec; |
| 3637 | + const {id, href, name, url} = intersectionSpec; |
3636 | 3638 | if (id === 'url-input') { |
3637 | 3639 | const {x, y} = intersectionSpec; |
3638 | 3640 |
|
|
3681 | 3683 | } else { |
3682 | 3684 | console.log('paste fail'); |
3683 | 3685 | } |
| 3686 | + } else if (id === 'action-open-scene') { |
| 3687 | + const dom = new DOMParser().parseFromString(url, 'text/html'); |
| 3688 | + if (dom.body.childNodes.length === 1 && dom.body.childNodes[0].nodeName === 'XR-SITE') { |
| 3689 | + root.innerHTML = dom.body.childNodes[0].innerHTML; |
| 3690 | + } else { |
| 3691 | + console.log('paste fail'); |
| 3692 | + } |
3684 | 3693 | } else if (href) { |
3685 | 3694 | const xrIframe = document.createElement('xr-iframe'); |
3686 | 3695 | xrIframe.src = href; |
|
0 commit comments