fix(widgets): restore article list rendering and reference styles
This commit is contained in:
1 parent
4ea00f1322
commit
fc04bf65e6
18 files changed
+345
-97
No files matched your search
@@ -85,10 +85,17 @@
|
||||
}
|
||||
|
||||
function itemsUrl(widget, instance, page, segment) {
|
||||
var base = String(config.restUrl || '').replace(/\/$/, '');
|
||||
var url = base + '/' + encodeURIComponent(widget) + '/items?instance=' + encodeURIComponent(instance) + '&page=' + encodeURIComponent(page);
|
||||
if (segment !== undefined && segment !== '') url += '&segment=' + encodeURIComponent(segment);
|
||||
return url;
|
||||
var url = new URL(config.restUrl, window.location.href);
|
||||
var path = '/' + encodeURIComponent(widget) + '/items';
|
||||
if (url.searchParams.has('rest_route')) {
|
||||
url.searchParams.set('rest_route', url.searchParams.get('rest_route').replace(/\/$/, '') + path);
|
||||
} else {
|
||||
url.pathname = url.pathname.replace(/\/$/, '') + path;
|
||||
}
|
||||
url.searchParams.set('instance', instance);
|
||||
url.searchParams.set('page', page);
|
||||
if (segment !== undefined && segment !== '') url.searchParams.set('segment', segment);
|
||||
return url.href;
|
||||
}
|
||||
|
||||
function loaderOf(container) {
|
||||
@@ -192,6 +199,14 @@
|
||||
|
||||
function initItems(container) {
|
||||
if (!once(container, 'Items')) return;
|
||||
if (container.hasAttribute('data-widget-lazy') && container.dataset.loaded !== '1') {
|
||||
container.addEventListener('lazybeforeunveil', function (event) {
|
||||
if (event.target === container && container.dataset.loaded !== '1') loadItems(container, 1, false);
|
||||
});
|
||||
// main.js loads asynchronously through loader_js. Its lazySizes scan
|
||||
// may finish before this client binds, so consume an unveiled pager.
|
||||
if (!container.classList.contains('lazyload')) loadItems(container, 1, false);
|
||||
}
|
||||
function jumpTo(input) {
|
||||
var page = Math.min(Number(input.max), Math.floor(Number(input.value)));
|
||||
if (!Number.isFinite(page) || page < 1 || page === Number(container.dataset.page || 1)) {
|
||||
@@ -229,11 +244,8 @@
|
||||
return;
|
||||
}
|
||||
if (trigger) {
|
||||
// data-widget-ias marks the hidden reveal trigger the runtime clicks
|
||||
// when the lazy container scrolls into view; it reloads page one.
|
||||
event.preventDefault();
|
||||
if (trigger.dataset.widgetIas === '1') loadItems(container, 1, false);
|
||||
else loadItems(container, Number(trigger.dataset.nextPage || 2), true);
|
||||
loadItems(container, Number(trigger.dataset.nextPage || 2), true);
|
||||
return;
|
||||
}
|
||||
if (pageLink) {
|
||||
@@ -346,6 +358,7 @@
|
||||
var scope = root || document;
|
||||
scope.querySelectorAll('.aksrt-widget-video[data-video-url]').forEach(initVideo);
|
||||
scope.querySelectorAll('.aksrt-widget-quote').forEach(initQuote);
|
||||
if (scope.matches && scope.matches('[data-widget-items]')) initItems(scope);
|
||||
scope.querySelectorAll('[data-widget-items]').forEach(initItems);
|
||||
scope.querySelectorAll('.widget-tab-post').forEach(initTabs);
|
||||
scope.querySelectorAll('.aksrt-faq').forEach(initFaq);
|
||||
|
||||
Reference in new issue
Block a user