enviar plantillas a env.js
This commit is contained in:
parent
eea2dc801b
commit
867d746244
11 changed files with 27 additions and 25 deletions
|
@ -16,6 +16,6 @@ layout: default
|
||||||
data-controller="cart-payment-methods"
|
data-controller="cart-payment-methods"
|
||||||
data-cart-payment-methods-next-url="{{ site.confirmation.url }}"
|
data-cart-payment-methods-next-url="{{ site.confirmation.url }}"
|
||||||
data-cart-payment-methods-back-url="{{ site.shipment.url }}"
|
data-cart-payment-methods-back-url="{{ site.shipment.url }}"
|
||||||
data-cart-payment-methods-template="assets/templates/payment_methods.html">
|
data-cart-payment-methods-template="payment_methods">
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -12,7 +12,6 @@ export default class extends CartBaseController {
|
||||||
if (!this.template) return
|
if (!this.template) return
|
||||||
|
|
||||||
if (this.storage.cart) {
|
if (this.storage.cart) {
|
||||||
|
|
||||||
const order = this.cart.data.attributes
|
const order = this.cart.data.attributes
|
||||||
const products = this.products
|
const products = this.products
|
||||||
const site = await this.site()
|
const site = await this.site()
|
||||||
|
@ -29,16 +28,14 @@ export default class extends CartBaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
render (data = {}) {
|
render (data = {}) {
|
||||||
fetch(this.template).then(r => r.text()).then(template => {
|
this.engine.parseAndRender(this.template, data).then(html => this.orderTarget.innerHTML = html)
|
||||||
this.engine.parseAndRender(template, data).then(html => this.orderTarget.innerHTML = html)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
get template () {
|
|
||||||
return this.element.dataset.template
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get clear () {
|
get clear () {
|
||||||
return this.element.dataset.clear
|
return this.element.dataset.clear
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get template () {
|
||||||
|
return window.templates[this.element.dataset.template]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,8 +25,7 @@ export default class extends CartBaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
async render (data = {}) {
|
async render (data = {}) {
|
||||||
const request = await fetch(this.data.get('template'))
|
const template = window.templates[this.data.get('template')]
|
||||||
const template = await request.text()
|
|
||||||
|
|
||||||
this.element.innerHTML = await this.engine.parseAndRender(template, data)
|
this.element.innerHTML = await this.engine.parseAndRender(template, data)
|
||||||
|
|
||||||
|
|
|
@ -102,8 +102,7 @@ export default class extends CartBaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
async render (data = {}) {
|
async render (data = {}) {
|
||||||
const request = await fetch(this.data.get('template'))
|
const template = window.templates[this.data.get('template')]
|
||||||
const template = await request.text()
|
|
||||||
|
|
||||||
this.methodsTarget.innerHTML = await this.engine.parseAndRender(template, data)
|
this.methodsTarget.innerHTML = await this.engine.parseAndRender(template, data)
|
||||||
this.ratesTarget.addEventListener('formdata', event => this.processShippingRate(event.formData))
|
this.ratesTarget.addEventListener('formdata', event => this.processShippingRate(event.formData))
|
||||||
|
|
|
@ -24,15 +24,6 @@ export default class extends Controller {
|
||||||
this.show()
|
this.show()
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Gets the template path from a name
|
|
||||||
*
|
|
||||||
* @return [String]
|
|
||||||
*/
|
|
||||||
template (name) {
|
|
||||||
return this.data.get('templates') + name + '.html'
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Shows the notification
|
* Shows the notification
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -43,9 +43,9 @@ export default class extends CartBaseController {
|
||||||
* Download the item template and render the order
|
* Download the item template and render the order
|
||||||
*/
|
*/
|
||||||
render (data = {}) {
|
render (data = {}) {
|
||||||
fetch(this.data.get('itemTemplate')).then(r => r.text()).then(template => {
|
const template = window.templates[this.data.get('itemTemplate')]
|
||||||
this.engine.parseAndRender(template, data).then(html => this.cartTarget.innerHTML = html)
|
|
||||||
})
|
this.engine.parseAndRender(template, data).then(html => this.cartTarget.innerHTML = html)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
{%- raw -%}
|
||||||
{% for product in products %}
|
{% for product in products %}
|
||||||
<div
|
<div
|
||||||
class="border-bottom row no-gutters align-items-center justify-content-center mb-3 mb-md-0 pb-3 pb-md-0"
|
class="border-bottom row no-gutters align-items-center justify-content-center mb-3 mb-md-0 pb-3 pb-md-0"
|
||||||
|
@ -63,3 +64,4 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
{%- endraw -%}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
{%- raw -%}
|
||||||
<form id="coupon" data-controller="cart-coupon" data-action="cart-coupon#apply"></form>
|
<form id="coupon" data-controller="cart-coupon" data-action="cart-coupon#apply"></form>
|
||||||
|
|
||||||
<form
|
<form
|
||||||
|
@ -60,3 +61,4 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
{%- endraw -%}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
{%- raw -%}
|
||||||
<div class="alert alert-{{ type }} alert-dismissible" role="alert" data-controller="cart">
|
<div class="alert alert-{{ type }} alert-dismissible" role="alert" data-controller="cart">
|
||||||
{{ content }}
|
{{ content }}
|
||||||
|
|
||||||
|
@ -9,3 +10,4 @@
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
{%- endraw -%}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
{%- raw -%}
|
||||||
<form
|
<form
|
||||||
data-action="cart-shipping#payment"
|
data-action="cart-shipping#payment"
|
||||||
data-target="cart-shipping.rates">
|
data-target="cart-shipping.rates">
|
||||||
|
@ -34,3 +35,4 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
{%- endraw -%}
|
||||||
|
|
8
env.js
8
env.js
|
@ -23,8 +23,16 @@ window.site = {
|
||||||
{%- endcomment -%}
|
{%- endcomment -%}
|
||||||
{%- capture alert %}{% include_relative assets/templates/alert.html %}{% endcapture -%}
|
{%- capture alert %}{% include_relative assets/templates/alert.html %}{% endcapture -%}
|
||||||
{%- capture results %}{% include_relative assets/templates/results.html %}{% endcapture -%}
|
{%- capture results %}{% include_relative assets/templates/results.html %}{% endcapture -%}
|
||||||
|
{%- capture cart %}{% include_relative assets/templates/cart.html %}{% endcapture -%}
|
||||||
|
{%- capture payment_methods %}{% include_relative assets/templates/payment_methods.html %}{% endcapture -%}
|
||||||
|
{%- capture recover_order %}{% include_relative assets/templates/recover_order.html %}{% endcapture -%}
|
||||||
|
{%- capture shipping_methods %}{% include_relative assets/templates/shipping_methods.html %}{% endcapture -%}
|
||||||
|
|
||||||
window.templates = {
|
window.templates = {
|
||||||
"alert": {{ alert | jsonify }},
|
"alert": {{ alert | jsonify }},
|
||||||
"results": {{ results | jsonify }},
|
"results": {{ results | jsonify }},
|
||||||
|
"cart": {{ cart | jsonify }},
|
||||||
|
"payment_methods": {{ payment_methods | jsonify }},
|
||||||
|
"recover_order": {{ recover_order | jsonify }},
|
||||||
|
"shipping_methods": {{ shipping_methods | jsonify }},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue