UNPKG

@ribajs/shopify

Version:

Shopify extension for Riba.js

135 lines 9.97 kB
import { Component } from "@ribajs/core"; import { hasChildNodesTrim } from "@ribajs/utils/src/dom.js"; export class ShopifyLoginFormComponent extends Component { static tagName = "shopify-login-form"; static get observedAttributes() { return []; } loginCustomerForm = null; createCustomerForm = null; recoverCustomerForm = null; scope = { form: { customer: { email: "", password: "", }, }, loginCustomer: { validation: { valid: false, }, }, createCustomer: { validation: { valid: false, }, }, recoverCustomer: { validation: { valid: false, }, }, login: this.login, create: this.create, recover: this.recover, recoverBack: this.recoverBack, }; constructor() { super(); } connectedCallback() { super.connectedCallback(); this.init(ShopifyLoginFormComponent.observedAttributes); } login(event) { if (!this.loginCustomerForm) { console.error("No login form found"); return false; } event.preventDefault(); event.stopPropagation(); this.validate(this.loginCustomerForm, this.scope.loginCustomer.validation); if (this.scope.loginCustomer.validation.valid) { this.loginCustomerForm.submit(); } } create(event) { if (!this.createCustomerForm) { console.error("No create form found"); return false; } event.preventDefault(); event.stopPropagation(); this.validate(this.createCustomerForm, this.scope.createCustomer.validation); if (this.scope.createCustomer.validation.valid) { this.createCustomerForm.submit(); } } recover(event) { if (!this.recoverCustomerForm) { console.error("No recover form found"); return false; } if (!this.loginCustomerForm) { console.error("No login form found"); return false; } event.preventDefault(); event.stopPropagation(); this.validate(this.recoverCustomerForm, this.scope.recoverCustomer.validation); if (this.scope.recoverCustomer.validation.valid) { this.recoverCustomerForm.submit(); } else { this.loginCustomerForm.parentNode?.setAttribute("hidden", ""); this.recoverCustomerForm.parentNode?.removeAttribute("hidden"); } } recoverBack(event) { if (!this.recoverCustomerForm) { console.error("No recover form found"); return false; } if (!this.loginCustomerForm) { console.error("No login form found"); return false; } event.preventDefault(); event.stopPropagation(); this.loginCustomerForm.parentNode?.removeAttribute("hidden"); this.recoverCustomerForm.parentNode?.setAttribute("hidden", ""); } initValidation() { this.createCustomerForm = this.querySelector('form[action="/account"]'); this.createCustomerForm.setAttribute("novalidate", ""); this.createCustomerForm.classList.add("needs-validation"); this.loginCustomerForm = this.querySelector('form[action="/account/login"]'); this.loginCustomerForm.setAttribute("novalidate", ""); this.loginCustomerForm.classList.add("needs-validation"); this.recoverCustomerForm = this.querySelector('form[action="/account/recover"]'); this.recoverCustomerForm.setAttribute("novalidate", ""); this.recoverCustomerForm.classList.add("needs-validation"); } validate(form, validationScope) { validationScope.valid = form.checkValidity(); form.classList.add("was-validated"); } async afterBind() { await super.afterBind(); this.initValidation(); } requiredAttributes() { return []; } async template() { if (this && hasChildNodesTrim(this)) { return null; } else { const { default: template } = await import("./login-form.component.html?raw"); return template; } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9sb2dpbi1mb3JtL2xvZ2luLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUEyQzdELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxTQUFTO0lBQy9DLE1BQU0sQ0FBQyxPQUFPLEdBQUcsb0JBQW9CLENBQUM7SUFFN0MsTUFBTSxLQUFLLGtCQUFrQjtRQUMzQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFUyxpQkFBaUIsR0FBMkIsSUFBSSxDQUFDO0lBQ2pELGtCQUFrQixHQUEyQixJQUFJLENBQUM7SUFDbEQsbUJBQW1CLEdBQTJCLElBQUksQ0FBQztJQUV0RCxLQUFLLEdBQVU7UUFDcEIsSUFBSSxFQUFFO1lBQ0osUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxFQUFFO2dCQUNULFFBQVEsRUFBRSxFQUFFO2FBQ2I7U0FDRjtRQUNELGFBQWEsRUFBRTtZQUNiLFVBQVUsRUFBRTtnQkFDVixLQUFLLEVBQUUsS0FBSzthQUNiO1NBQ0Y7UUFDRCxjQUFjLEVBQUU7WUFDZCxVQUFVLEVBQUU7Z0JBQ1YsS0FBSyxFQUFFLEtBQUs7YUFDYjtTQUNGO1FBQ0QsZUFBZSxFQUFFO1lBQ2YsVUFBVSxFQUFFO2dCQUNWLEtBQUssRUFBRSxLQUFLO2FBQ2I7U0FDRjtRQUNELEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztRQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07UUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1FBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztLQUM5QixDQUFDO0lBRUY7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNW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