... |
... |
@@ -104,6 +104,7 @@ |
104 |
104 |
</div> |
105 |
105 |
<small style="color:#888;">Pick a page (e.g., <code>Main.SomePage</code>). Click <b>Move</b> to relocate this file.</small> |
106 |
106 |
</div> |
|
107 |
+ </div> <!-- closes .video-container --> |
107 |
107 |
</div> <!-- closes .video-container --> |
108 |
108 |
|
109 |
109 |
#if(($i % 48 == 0) || $foreach.last) |
... |
... |
@@ -140,36 +140,21 @@ |
140 |
140 |
|
141 |
141 |
/* ---------- resolve a picker input to a full page reference ---------- */ |
142 |
142 |
async function resolveReference(inp){ |
143 |
|
- // Some picker builds expose a stored reference on the element: |
144 |
|
- var refAttr = inp.getAttribute('data-reference') || (inp.dataset ? inp.dataset.reference : ''); |
145 |
|
- if (refAttr && refAttr.indexOf('.') !== -1) return refAttr; |
146 |
|
- |
147 |
|
- var v = (inp.value || '').trim(); |
|
144 |
+ // Prefer the picker’s stored reference if present |
|
145 |
+ var v = (inp.getAttribute('data-reference') || (inp.dataset && inp.dataset.reference) || inp.value || '').trim(); |
148 |
148 |
if (!v) throw new Error('No page selected'); |
149 |
149 |
|
150 |
|
- // If the value already looks like a reference, use it. |
151 |
|
- if (v.indexOf('.') !== -1) return v; |
152 |
|
- |
153 |
|
- // Otherwise, try REST search (title/name) and prefer same root space. |
154 |
|
- var url = '/rest/wikis/' + encodeURIComponent(WIKI) + |
155 |
|
- '/search?q=' + encodeURIComponent(v) + |
156 |
|
- '&scope=title,name&number=8&media=json'; |
157 |
|
- var r = await fetch(url, {credentials:'same-origin'}); |
158 |
|
- if (r.ok) { |
159 |
|
- var j = await r.json(); |
160 |
|
- var items = (j.searchResults && j.searchResults.searchResult) || []; |
161 |
|
- var refs = items.map(function(it){ |
162 |
|
- return (it.pageFullName || it.fullName || '').replace(/^.*:/,''); // strip "wiki:" |
163 |
|
- }).filter(Boolean); |
164 |
|
- |
165 |
|
- // Prefer a result under the current root space |
166 |
|
- var preferred = refs.find(function(f){ return f.startsWith(ROOT_SPACE + '.'); }); |
167 |
|
- if (preferred) return preferred; |
168 |
|
- if (refs[0]) return refs[0]; |
|
148 |
+ // If user typed a plain title ("Humor and Memes"), assume current root space |
|
149 |
+ if (v.indexOf('.') === -1) { |
|
150 |
+ var root = (window.SOURCE_SPACE || 'Main').split('.')[0]; // e.g., "Main Categories" |
|
151 |
+ v = root + '.' + v; |
169 |
169 |
} |
170 |
170 |
|
171 |
|
- // Fallback: assume the user meant a page under the current root space |
172 |
|
- return ROOT_SPACE + '.' + v; |
|
154 |
+ // If target doesn't specify a terminal doc, default to the space home |
|
155 |
+ if (!/\.WebHome$/i.test(v)) { |
|
156 |
+ v = v + '.WebHome'; |
|
157 |
+ } |
|
158 |
+ return v; |
173 |
173 |
} |
174 |
174 |
|
175 |
175 |
/* ---------- poster (unchanged core idea, trimmed) ---------- */ |