@ribajs/core
Version:
Core module of Riba.js
29 lines • 2.48 kB
JavaScript
import { Binder } from "../binder.js";
import { isCustomElement, waitForCustomElement } from "@ribajs/utils";
export class ParentBinder extends Binder {
static key = "parent";
routine() {
}
bindIntern(el) {
if (el.setBinderAttribute) {
el.setBinderAttribute("$parent", this.view.models);
}
else {
console.warn("[parentBinder] You can only use this binder on Riba components", el.localName, customElements.get(el.localName));
}
}
async bind(el) {
if (isCustomElement(el, true, true)) {
this.bindIntern(el);
}
else if (isCustomElement(el, true)) {
console.info(`[parentBinder] CustomElement ${el.localName} has been defined, but is not yet upgraded. Waiting for upgrade..`, el);
await waitForCustomElement(el);
this.bindIntern(el);
}
else {
console.warn("[parentBinder] You can only use this binder on Riba components", el.localName);
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyZW50LmJpbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iaW5kZXJzL3BhcmVudC5iaW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTXRFLE1BQU0sT0FBTyxZQUFhLFNBQVEsTUFBMkI7SUFDM0QsTUFBTSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUM7SUFDdEIsT0FBTztJQUVQLENBQUM7SUFDTyxVQUFVLENBQUMsRUFBa0I7UUFDbkMsSUFBSSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixFQUFFLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsSUFBSSxDQUNWLGdFQUFnRSxFQUNoRSxFQUFFLENBQUMsU0FBUyxFQUNaLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUNqQyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQWtCO1FBQzNCLElBQUksZUFBZSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7YUFBTSxJQUFJLGVBQWUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxPQUFPLENBQUMsSUFBSSxDQUNWLGdDQUFnQyxFQUFFLENBQUMsU0FBUyxtRUFBbUUsRUFDL0csRUFBRSxDQUNILENBQUM7WUFDRixNQUFNLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsSUFBSSxDQUNWLGdFQUFnRSxFQUNoRSxFQUFFLENBQUMsU0FBUyxDQUNiLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQyJ9