UNPKG

@ribajs/router

Version:

Routing extension for Riba.js inspired by Barba.js

33 lines 2.82 kB
import { EventDispatcher } from "@ribajs/events"; import { extend } from "@ribajs/utils/src/type.js"; class BaseView { namespace; container; dispatcher = EventDispatcher.getInstance(); extend(obj) { return extend({ deep: false }, this, obj); } init() { this.dispatcher.on("initStateChange", (viewId, newStatus, oldStatus) => { if (oldStatus && oldStatus.namespace === this.namespace) { this.onLeave(); } }); this.dispatcher.on("newPageReady", (viewId, newStatus, oldStatus, container) => { this.container = container; if (newStatus.namespace === this.namespace) { this.onEnter(); } }); this.dispatcher.on("transitionCompleted", (viewId, newStatus, oldStatus) => { if (newStatus.namespace === this.namespace) { this.onEnterCompleted(); } if (oldStatus && oldStatus.namespace === this.namespace) { this.onLeaveCompleted(); } }); } } export { BaseView }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9WaWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFLbkQsTUFBZSxRQUFRO0lBS1gsU0FBUyxDQUFVO0lBRW5CLFNBQVMsQ0FBZTtJQUUxQixVQUFVLEdBQUcsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBSzVDLE1BQU0sQ0FBQyxHQUFRO1FBQ3BCLE9BQU8sTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBUU0sSUFBSTtRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUNoQixpQkFBaUIsRUFDakIsQ0FBQyxNQUFjLEVBQUUsU0FBZ0IsRUFBRSxTQUFnQixFQUFFLEVBQUU7WUFDckQsSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ3hELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixDQUFDO1FBQ0gsQ0FBQyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FDaEIsY0FBYyxFQUNkLENBQ0UsTUFBYyxFQUNkLFNBQWdCLEVBQ2hCLFNBQWdCLEVBQ2hCLFNBQXNCLEVBQ3RCLEVBQUU7WUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUMzQixJQUFJLFNBQVMsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUMzQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQ2hCLHFCQUFxQixFQUNyQixDQUFDLE1BQWMsRUFBRSxTQUFnQixFQUFFLFNBQWdCLEVBQUUsRUFBRTtZQUNyRCxJQUFJLFNBQVMsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUMzQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQixDQUFDO1lBRUQsSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ3hELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLENBQUM7UUFDSCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7Q0F5QkY7QUFFRCxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMifQ==