UNPKG

@ribajs/router

Version:

Routing extension for Riba.js inspired by Barba.js

40 lines 3.94 kB
import { Binder, View, handleizeFormatter } from "@ribajs/core"; import { isObject } from "@ribajs/utils/src/type.js"; import { Pjax, HideShowTransition } from "../services/index.js"; const handleize = handleizeFormatter.read; export class ViewStaticBinder extends Binder { static key = "view-static"; static block = true; nested = null; async routine(el, options) { const wrapper = el; options = options || {}; options.listenAllLinks = false; options.listenPopstate = false; options.parseTitle = false; options.transition = options.transition || new HideShowTransition(); options.viewId = options.viewId || el.getAttribute("id") || handleize(options.url); options.containerSelector = options.containerSelector || "[data-namespace]"; options.changeBrowserUrl = false; const pjax = new Pjax(options); const { responsePromise } = await pjax.loadResponseCached(options.url, false, false); const response = await responsePromise; wrapper.replaceWith(response.container); response.container.style.visibility = "visible"; if (!isObject(this.view.models)) { this.view.models = {}; } if (this.nested) { this.nested.unbind(); } this.nested = new View(response.container, this.view.models, this.view.options); this.nested.bind(); } unbind() { if (this.nested) { this.nested.unbind(); } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1zdGF0aWMuYmluZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2JpbmRlcnMvdmlldy1zdGF0aWMuYmluZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFlLE1BQU0sY0FBYyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFaEUsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsSUFBbUIsQ0FBQztBQUt6RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsTUFBaUM7SUFDckUsTUFBTSxDQUFDLEdBQUcsR0FBRyxhQUFhLENBQUM7SUFDM0IsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFFWixNQUFNLEdBQWdCLElBQUksQ0FBQztJQUVuQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQWUsRUFBRSxPQUFZO1FBQ3pDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUduQixPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUMvQixPQUFPLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUMvQixPQUFPLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUMzQixPQUFPLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3BFLE9BQU8sQ0FBQyxNQUFNO1lBQ1osT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEUsT0FBTyxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsSUFBSSxrQkFBa0IsQ0FBQztRQUM1RSxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRWpDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRS9CLE1BQU0sRUFBRSxlQUFlLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FDdkQsT0FBTyxDQUFDLEdBQUcsRUFDWCxLQUFLLEVBQ0wsS0FBSyxDQUNOLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQWUsQ0FBQztRQUV2QyxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV4QyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBR2hELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUN4QixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN2QixDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FDcEIsUUFBUSxDQUFDLFNBQVMsRUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUNsQixDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUMifQ==