@ribajs/shopify
Version:
Shopify extension for Riba.js
78 lines • 4.88 kB
JavaScript
import { Component } from "@ribajs/core";
import { hasChildNodesTrim } from "@ribajs/utils/src/dom.js";
export class ShopifyCommentsFormComponent extends Component {
static tagName = "shopify-comments-form";
static get observedAttributes() {
return [];
}
newCommentForm = null;
scope = {
form: {
customer: {
email: "",
password: "",
},
},
loginCustomer: {
validation: {
valid: false,
},
},
createCustomer: {
validation: {
valid: false,
},
},
recoverCustomer: {
validation: {
valid: false,
},
},
post: this.post,
};
constructor() {
super();
}
connectedCallback() {
super.connectedCallback();
this.init(ShopifyCommentsFormComponent.observedAttributes);
}
post(event) {
if (!this.newCommentForm) {
console.error("No comment form found");
return false;
}
event.preventDefault();
event.stopPropagation();
this.validate(this.newCommentForm, this.scope.loginCustomer.validation);
if (this.scope.loginCustomer.validation.valid) {
this.newCommentForm.submit();
}
}
initValidation() {
this.newCommentForm = this.querySelector("#comment_form");
this.newCommentForm.setAttribute("novalidate", "");
this.newCommentForm.classList.add("needs-validation");
}
validate(form, validationScope) {
validationScope.valid = form.checkValidity();
form.classList.add("was-validated");
}
async afterBind() {
this.initValidation();
await super.afterBind();
}
requiredAttributes() {
return [];
}
async template() {
if (this && hasChildNodesTrim(this)) {
return null;
}
else {
const { default: template } = await import("./comments-form.component.html?raw");
return template;
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudHMtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jb21tZW50cy1mb3JtL2NvbW1lbnRzLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUF3QzdELE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxTQUFTO0lBQ2xELE1BQU0sQ0FBQyxPQUFPLEdBQUcsdUJBQXVCLENBQUM7SUFFaEQsTUFBTSxLQUFLLGtCQUFrQjtRQUMzQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFUyxjQUFjLEdBQTJCLElBQUksQ0FBQztJQUVqRCxLQUFLLEdBQVU7UUFDcEIsSUFBSSxFQUFFO1lBQ0osUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxFQUFFO2dCQUNULFFBQVEsRUFBRSxFQUFFO2FBQ2I7U0FDRjtRQUNELGFBQWEsRUFBRTtZQUNiLFVBQVUsRUFBRTtnQkFDVixLQUFLLEVBQUUsS0FBSzthQUNiO1NBQ0Y7UUFDRCxjQUFjLEVBQUU7WUFDZCxVQUFVLEVBQUU7Z0JBQ1YsS0FBSyxFQUFFLEtBQUs7YUFDYjtTQUNGO1FBQ0QsZUFBZSxFQUFFO1lBQ2YsVUFBVSxFQUFFO2dCQUNWLEtBQUssRUFBRSxLQUFLO2FBQ2I7U0FDRjtRQUNELElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtLQUNoQixDQUFDO0lBRUY7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFUyxpQkFBaUI7UUFDekIsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFLTSxJQUFJLENBQUMsS0FBWTtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUN2QyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFHRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV4RSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRVMsY0FBYztRQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQ3RDLGVBQWUsQ0FDRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRVMsUUFBUSxDQUFDLElBQXFCLEVBQUUsZUFBaUM7UUFDekUsZUFBZSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVTLEtBQUssQ0FBQyxTQUFTO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixNQUFNLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRVMsa0JBQWtCO1FBQzFCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVTLEtBQUssQ0FBQyxRQUFRO1FBRXRCLElBQUksSUFBSSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQ3hDLG9DQUFvQyxDQUNyQyxDQUFDO1lBQ0YsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUMifQ==