@codedoc/core
Version:
Create beautiful modern documentation websites.
51 lines • 2.88 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ToCPrevNext$ = exports.ToCPrevNext = void 0;
var html_1 = require("@connectv/html");
var transport_1 = require("@connectv/sdh/transport");
var style_1 = require("./style");
function ToCPrevNext(options, renderer) {
var classes = this.theme.classes(style_1.ToCPrevNextStyle);
var holder = html_1.ref();
this.track({
bind: function () {
setTimeout(function () {
var toc = document.getElementById('-codedoc-toc');
if (toc) {
var prev$_1;
var curr$_1;
var next$_1;
toc.querySelectorAll('a').forEach(function (a$) {
var href = a$.getAttribute('href') || '';
if (href === location.pathname && !curr$_1)
curr$_1 = a$;
else if (curr$_1 && href.startsWith('/') && !next$_1)
next$_1 = a$;
else if (!curr$_1 && href.startsWith('/'))
prev$_1 = a$;
});
if (prev$_1 && options.prev !== 'false') {
renderer.render(renderer.create("a", { class: classes.button + " prev", href: prev$_1.getAttribute('href') || '' },
renderer.create("div", null,
renderer.create("span", { class: classes.label }, options['prev-label'] || 'Previous'),
renderer.create("span", { class: classes.title }, prev$_1.textContent)),
renderer.create("span", { class: "icon-font" }, options["prev-icon"] || 'arrow_back_ios'))).on(holder.$);
}
if (next$_1 && options.next !== 'false') {
renderer.render(renderer.create("a", { class: classes.button + " next", href: next$_1.getAttribute('href') || '' },
renderer.create("div", null,
renderer.create("span", { class: classes.label }, options['next-label'] || 'Next'),
renderer.create("span", { class: classes.title }, next$_1.textContent)),
renderer.create("span", { class: "icon-font" }, options["next-icon"] || 'arrow_forward_ios'))).on(holder.$);
}
}
}, 10);
}
});
return renderer.create("div", { class: classes.prevnext, _ref: holder });
}
exports.ToCPrevNext = ToCPrevNext;
exports.ToCPrevNext$ = transport_1.transport(ToCPrevNext);
var style_2 = require("./style");
Object.defineProperty(exports, "ToCPrevNextStyle", { enumerable: true, get: function () { return style_2.ToCPrevNextStyle; } });
//# sourceMappingURL=index.js.map