display product list, rest addtocart

This commit is contained in:
Bachir Soussi Chiadmi 2019-10-05 20:01:06 +02:00
parent f5e18e9c20
commit ebb20c6176
30 changed files with 1403 additions and 10 deletions

View File

@ -23,6 +23,7 @@
"drupal/amswap": "^2.0", "drupal/amswap": "^2.0",
"drupal/auto_entitylabel": "2.x-dev", "drupal/auto_entitylabel": "2.x-dev",
"drupal/commerce": "^2.12", "drupal/commerce": "^2.12",
"drupal/commerce_cart_api": "^1.4",
"drupal/commerce_license": "^2.0@alpha", "drupal/commerce_license": "^2.0@alpha",
"drupal/commerce_migrate": "^2.0", "drupal/commerce_migrate": "^2.0",
"drupal/commerce_monetico": "^1.0", "drupal/commerce_monetico": "^1.0",

55
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "7e10b3f48a875330ee707d7cee2bac93", "content-hash": "bee8de31ae3bb4fa7aa201097983403f",
"packages": [ "packages": [
{ {
"name": "alchemy/zippy", "name": "alchemy/zippy",
@ -3431,6 +3431,59 @@
"source": "https://git.drupalcode.org/project/commerce" "source": "https://git.drupalcode.org/project/commerce"
} }
}, },
{
"name": "drupal/commerce_cart_api",
"version": "1.4.0",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/commerce_cart_api.git",
"reference": "8.x-1.4"
},
"dist": {
"type": "zip",
"url": "https://ftp.drupal.org/files/projects/commerce_cart_api-8.x-1.4.zip",
"reference": "8.x-1.4",
"shasum": "59dc0e713ac3a946b940707a93726b52e1f59e62"
},
"require": {
"drupal/commerce": "^2.13",
"drupal/commerce_cart": "*",
"drupal/core": "*"
},
"type": "drupal-module",
"extra": {
"branch-alias": {
"dev-1.x": "1.x-dev"
},
"drupal": {
"version": "8.x-1.4",
"datestamp": "1560966488",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
}
}
},
"notification-url": "https://packages.drupal.org/8/downloads",
"license": [
"GPL-2.0+"
],
"authors": [
{
"name": "mglaman",
"homepage": "https://www.drupal.org/user/2416470"
}
],
"description": "Provides a RESTful interface to interact with carts in Drupal Commerce via a lightweight public API.",
"homepage": "https://www.drupal.org/project/commerce_cart_api",
"keywords": [
"Drupal"
],
"support": {
"source": "http://cgit.drupalcode.org/commerce_cart_api",
"issues": "https://www.drupal.org/project/issues/commerce_cart_api"
}
},
{ {
"name": "drupal/commerce_checkout", "name": "drupal/commerce_checkout",
"version": "2.13.0", "version": "2.13.0",

View File

@ -0,0 +1,21 @@
uuid: 90f98c52-9624-4758-9c38-3904d5ef5faa
langcode: en
status: true
dependencies:
module:
- commerce_cart
theme:
- materiotheme
id: cart
theme: materiotheme
region: header_right
weight: 0
provider: null
plugin: commerce_cart
settings:
id: commerce_cart
label: Cart
provider: commerce_cart
label_display: visible
dropdown: true
visibility: { }

View File

@ -1,3 +1,3 @@
default_store: bb23cf22-6a06-4f8d-88fc-0998f15ff2d0 default_store: 8efb0192-cf8d-4aaa-86e3-01ffd5e09bb8
_core: _core:
default_config_hash: B9ZFGR76POyzj9f3Sh66F346_Jp-wnnUc78Hk3Q-60o default_config_hash: B9ZFGR76POyzj9f3Sh66F346_Jp-wnnUc78Hk3Q-60o

View File

@ -6,6 +6,7 @@ dependencies:
- commerce_product.commerce_product_variation_type.materio_product_variation_type - commerce_product.commerce_product_variation_type.materio_product_variation_type
- field.field.commerce_product_variation.materio_product_variation_type.billing_schedule - field.field.commerce_product_variation.materio_product_variation_type.billing_schedule
- field.field.commerce_product_variation.materio_product_variation_type.field_description - field.field.commerce_product_variation.materio_product_variation_type.field_description
- field.field.commerce_product_variation.materio_product_variation_type.field_multiple
- field.field.commerce_product_variation.materio_product_variation_type.license_expiration - field.field.commerce_product_variation.materio_product_variation_type.license_expiration
- field.field.commerce_product_variation.materio_product_variation_type.license_type - field.field.commerce_product_variation.materio_product_variation_type.license_type
- field.field.commerce_product_variation.materio_product_variation_type.subscription_type - field.field.commerce_product_variation.materio_product_variation_type.subscription_type
@ -32,6 +33,13 @@ content:
third_party_settings: { } third_party_settings: { }
type: text_textarea type: text_textarea
region: content region: content
field_multiple:
weight: 93
settings:
display_label: true
third_party_settings: { }
type: boolean_checkbox
region: content
langcode: langcode:
type: language_select type: language_select
weight: 2 weight: 2

View File

@ -0,0 +1,40 @@
uuid: 670c3437-b44c-4bc9-b7f6-ec0b12d5c7ab
langcode: en
status: true
dependencies:
config:
- commerce_product.commerce_product_variation_type.materio_product_variation_type
- core.entity_view_mode.commerce_product_variation.add_to_cart
- field.field.commerce_product_variation.materio_product_variation_type.billing_schedule
- field.field.commerce_product_variation.materio_product_variation_type.field_description
- field.field.commerce_product_variation.materio_product_variation_type.license_expiration
- field.field.commerce_product_variation.materio_product_variation_type.license_type
- field.field.commerce_product_variation.materio_product_variation_type.subscription_type
module:
- commerce_variation_cart_form
third_party_settings:
commerce_variation_cart_form:
combine: '1'
id: commerce_product_variation.materio_product_variation_type.add_to_cart
targetEntityType: commerce_product_variation
bundle: materio_product_variation_type
mode: add_to_cart
content:
commerce_variation_cart_form:
weight: 0
region: content
settings: { }
third_party_settings: { }
hidden:
billing_schedule: true
field_description: true
langcode: true
license_expiration: true
license_type: true
list_price: true
price: true
product_id: true
search_api_excerpt: true
sku: true
subscription_type: true
title: true

View File

@ -6,6 +6,7 @@ dependencies:
- commerce_product.commerce_product_variation_type.materio_product_variation_type - commerce_product.commerce_product_variation_type.materio_product_variation_type
- field.field.commerce_product_variation.materio_product_variation_type.billing_schedule - field.field.commerce_product_variation.materio_product_variation_type.billing_schedule
- field.field.commerce_product_variation.materio_product_variation_type.field_description - field.field.commerce_product_variation.materio_product_variation_type.field_description
- field.field.commerce_product_variation.materio_product_variation_type.field_multiple
- field.field.commerce_product_variation.materio_product_variation_type.license_expiration - field.field.commerce_product_variation.materio_product_variation_type.license_expiration
- field.field.commerce_product_variation.materio_product_variation_type.license_type - field.field.commerce_product_variation.materio_product_variation_type.license_type
- field.field.commerce_product_variation.materio_product_variation_type.subscription_type - field.field.commerce_product_variation.materio_product_variation_type.subscription_type
@ -33,6 +34,16 @@ content:
third_party_settings: { } third_party_settings: { }
type: text_default type: text_default
region: content region: content
field_multiple:
weight: 4
label: above
settings:
format: default
format_custom_false: ''
format_custom_true: ''
third_party_settings: { }
type: boolean
region: content
price: price:
label: hidden label: hidden
type: commerce_price_default type: commerce_price_default
@ -57,5 +68,6 @@ hidden:
license_type: true license_type: true
list_price: true list_price: true
product_id: true product_id: true
search_api_excerpt: true
sku: true sku: true
subscription_type: true subscription_type: true

View File

@ -0,0 +1,10 @@
uuid: f0ae2b16-c0cd-4fcd-bc2d-4920dce0b9ec
langcode: en
status: true
dependencies:
module:
- commerce_product
id: commerce_product_variation.add_to_cart
label: 'add to cart'
targetEntityType: commerce_product_variation
cache: true

View File

@ -19,6 +19,7 @@ module:
ckeditor: 0 ckeditor: 0
commerce: 0 commerce: 0
commerce_cart: 0 commerce_cart: 0
commerce_cart_api: 0
commerce_checkout: 0 commerce_checkout: 0
commerce_cmcic: 0 commerce_cmcic: 0
commerce_license: 0 commerce_license: 0

View File

@ -0,0 +1,23 @@
uuid: 915cd4b9-78c4-495b-abec-38923c6d71d3
langcode: en
status: true
dependencies:
config:
- commerce_product.commerce_product_variation_type.materio_product_variation_type
- field.storage.commerce_product_variation.field_multiple
id: commerce_product_variation.materio_product_variation_type.field_multiple
field_name: field_multiple
entity_type: commerce_product_variation
bundle: materio_product_variation_type
label: multiple
description: ''
required: false
translatable: false
default_value:
-
value: 0
default_value_callback: ''
settings:
on_label: 'On'
off_label: 'Off'
field_type: boolean

View File

@ -0,0 +1,18 @@
uuid: d33342d9-6be2-4dd9-97fe-736ddbaa7deb
langcode: en
status: true
dependencies:
module:
- commerce_product
id: commerce_product_variation.field_multiple
field_name: field_multiple
entity_type: commerce_product_variation
type: boolean
settings: { }
module: core
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View File

@ -0,0 +1,20 @@
uuid: 3f812527-927a-4c9c-ab9f-178013a83a1f
langcode: en
status: true
dependencies:
module:
- commerce_cart_api
- serialization
- user
_core:
default_config_hash: LptJMeSNAYdcJ0FCczBiIiAvSs3pgfeITgwPlUR5LmM
id: commerce_cart_add
plugin_id: commerce_cart_add
granularity: resource
configuration:
methods:
- POST
formats:
- json
authentication:
- cookie

View File

@ -0,0 +1,20 @@
uuid: 4ce9498b-f336-4291-96f2-af4da7fe5509
langcode: en
status: true
dependencies:
module:
- commerce_cart_api
- serialization
- user
_core:
default_config_hash: 4nYqayd8aO5e2acUdQAIbm5_cWyLV2Z5pdVB9eM_L-U
id: commerce_cart_canonical
plugin_id: commerce_cart_canonical
granularity: resource
configuration:
methods:
- GET
formats:
- json
authentication:
- cookie

View File

@ -0,0 +1,20 @@
uuid: 599fc55b-d435-4f54-90dc-51ff1a53b6cb
langcode: en
status: true
dependencies:
module:
- commerce_cart_api
- serialization
- user
_core:
default_config_hash: gFt_6Zv9JEPLa560_rsfsqrQC21_LQ6becnJMNjUIpM
id: commerce_cart_clear
plugin_id: commerce_cart_clear
granularity: resource
configuration:
methods:
- DELETE
formats:
- json
authentication:
- cookie

View File

@ -0,0 +1,20 @@
uuid: 78d0e03d-34a3-4f1c-805e-54855769a65e
langcode: en
status: true
dependencies:
module:
- commerce_cart_api
- serialization
- user
_core:
default_config_hash: hmTTiE7SFlCqDYrx7_F-rWrUkDx2GrFg3wN6BcIq5xc
id: commerce_cart_collection
plugin_id: commerce_cart_collection
granularity: resource
configuration:
methods:
- GET
formats:
- json
authentication:
- cookie

View File

@ -0,0 +1,22 @@
uuid: 0fb1c3c3-fb23-48e1-b838-61301c101257
langcode: en
status: true
dependencies:
module:
- commerce_cart_api
- serialization
- user
_core:
default_config_hash: '-VZFihnbsF6hEpC1DV9RX_b3dI4QQkqGTNiv6qMTbkA'
id: commerce_cart_coupons
plugin_id: commerce_cart_coupons
granularity: resource
configuration:
methods:
- GET
- PATCH
- DELETE
formats:
- json
authentication:
- cookie

View File

@ -0,0 +1,20 @@
uuid: 2aaeb0f0-aba3-4906-9ee5-6770f5c3e2b0
langcode: en
status: true
dependencies:
module:
- commerce_cart_api
- serialization
- user
_core:
default_config_hash: cQORBV4olEqxQT9k7Z9gmobi4AUuEahhxC32K8CprOQ
id: commerce_cart_remove_item
plugin_id: commerce_cart_remove_item
granularity: resource
configuration:
methods:
- DELETE
formats:
- json
authentication:
- cookie

View File

@ -0,0 +1,20 @@
uuid: 16dcbb19-336e-4d95-a015-a06afdc61af6
langcode: en
status: true
dependencies:
module:
- commerce_cart_api
- serialization
- user
_core:
default_config_hash: WqYdG4xXtHm4Ok5hm8eKZIdWyoZ2icbbjm88ZEWLQXs
id: commerce_cart_update_item
plugin_id: commerce_cart_update_item
granularity: resource
configuration:
methods:
- PATCH
formats:
- json
authentication:
- cookie

View File

@ -0,0 +1,20 @@
uuid: 081147a6-6299-40d1-907a-8f4e6e67d24d
langcode: en
status: true
dependencies:
module:
- commerce_cart_api
- serialization
- user
_core:
default_config_hash: cEt7qeWXge5-KBeMTZViFP-KX7AqedUbSpxGS43GFDA
id: commerce_cart_update_items
plugin_id: commerce_cart_update_items
granularity: resource
configuration:
methods:
- PATCH
formats:
- json
authentication:
- cookie

View File

@ -24,7 +24,7 @@ id: blabla
label: Blabla label: Blabla
module: views module: views
description: '' description: ''
tag: '' tag: Materio
base_table: node_field_data base_table: node_field_data
base_field: nid base_field: nid
core: 8.x core: 8.x

View File

@ -0,0 +1,633 @@
uuid: 85b6fa75-c392-415a-9e3f-58322aeba35f
langcode: en
status: true
dependencies:
config:
- commerce_product.commerce_product_variation_type.materio_product_variation_type
- field.storage.commerce_product_variation.field_description
- field.storage.commerce_product_variation.field_multiple
- system.menu.header
module:
- commerce
- commerce_price
- commerce_product
- rest
- serialization
- text
id: pricing
label: Pricing
module: views
description: ''
tag: ''
base_table: commerce_product_variation_field_data
base_field: variation_id
core: 8.x
display:
default:
display_plugin: default
id: default
display_title: Master
position: 0
display_options:
access:
type: none
options: { }
cache:
type: tag
options: { }
query:
type: views_query
options:
disable_sql_rewrite: false
distinct: false
replica: false
query_comment: ''
query_tags: { }
exposed_form:
type: basic
options:
submit_button: Apply
reset_button: false
reset_button_label: Reset
exposed_sorts_label: 'Sort by'
expose_sort_order: true
sort_asc_label: Asc
sort_desc_label: Desc
pager:
type: mini
options:
items_per_page: 10
offset: 0
id: 0
total_pages: null
expose:
items_per_page: false
items_per_page_label: 'Items per page'
items_per_page_options: '5, 10, 25, 50'
items_per_page_options_all: false
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
tags:
previous:
next:
style:
type: default
row:
type: fields
fields:
variation_id:
id: variation_id
table: commerce_product_variation_field_data
field: variation_id
relationship: none
group_type: group
admin_label: ''
label: ''
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: number_integer
settings:
thousand_separator: ''
prefix_suffix: true
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
entity_type: commerce_product_variation
entity_field: variation_id
plugin_id: field
uuid:
id: uuid
table: commerce_product_variation
field: uuid
relationship: none
group_type: group
admin_label: ''
label: ''
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: string
settings:
link_to_entity: false
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
entity_type: commerce_product_variation
entity_field: uuid
plugin_id: field
title:
id: title
table: commerce_product_variation_field_data
field: title
relationship: none
group_type: group
admin_label: ''
label: ''
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: string
settings:
link_to_entity: false
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
entity_type: commerce_product_variation
entity_field: title
plugin_id: field
field_description:
id: field_description
table: commerce_product_variation__field_description
field: field_description
relationship: none
group_type: group
admin_label: ''
label: ''
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: text_default
settings: { }
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
plugin_id: field
price__number:
id: price__number
table: commerce_product_variation_field_data
field: price__number
relationship: none
group_type: group
admin_label: ''
label: ''
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: number
type: commerce_price_default
settings:
strip_trailing_zeroes: false
currency_display: symbol
group_column: ''
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
entity_type: commerce_product_variation
entity_field: price
plugin_id: field
field_multiple:
id: field_multiple
table: commerce_product_variation__field_multiple
field: field_multiple
relationship: none
group_type: group
admin_label: ''
label: ''
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: boolean
settings:
format: boolean
format_custom_true: ''
format_custom_false: ''
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
plugin_id: field
filters:
status:
value: '1'
table: commerce_product_variation_field_data
field: status
plugin_id: boolean
entity_type: commerce_product_variation
entity_field: status
id: status
expose:
operator: ''
group: 1
type:
id: type
table: commerce_product_variation_field_data
field: type
value:
materio_product_variation_type: materio_product_variation_type
entity_type: commerce_product_variation
entity_field: type
plugin_id: commerce_entity_bundle
sorts: { }
title: Pricing
header: { }
footer: { }
empty: { }
relationships: { }
arguments: { }
display_extenders: { }
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url.query_args
tags:
- 'config:field.storage.commerce_product_variation.field_description'
- 'config:field.storage.commerce_product_variation.field_multiple'
page_1:
display_plugin: page
id: page_1
display_title: Page
position: 1
display_options:
display_extenders:
views_ef_fieldset: { }
path: pricing
menu:
type: normal
title: Pricing
menu_name: header
fields:
rendered_entity:
id: rendered_entity
table: commerce_product_variation
field: rendered_entity
relationship: none
group_type: group
admin_label: ''
label: ''
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
view_mode: default
entity_type: commerce_product_variation
plugin_id: rendered_entity
defaults:
fields: false
cache_metadata:
max-age: -1
contexts:
- 'languages:language_interface'
- url.query_args
tags:
- 'config:core.entity_view_display.commerce_product_variation.default.cart'
- 'config:core.entity_view_display.commerce_product_variation.default.summary'
- 'config:core.entity_view_display.commerce_product_variation.materio_product_variation_type.add_to_cart'
- 'config:core.entity_view_display.commerce_product_variation.materio_product_variation_type.default'
rest_export_1:
display_plugin: rest_export
id: rest_export_1
display_title: 'REST export'
position: 2
display_options:
display_extenders:
views_ef_fieldset: { }
path: pricing_rest
style:
type: serializer
options:
formats:
json: json
defaults:
style: false
row: false
fields: true
row:
type: data_field
options:
field_options:
field_description:
alias: ''
raw_output: false
price__number:
alias: ''
raw_output: false
title:
alias: ''
raw_output: false
uuid:
alias: ''
raw_output: false
list_price__number:
alias: ''
raw_output: false
pager:
type: some
options:
items_per_page: 10
offset: 0
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- request_format
tags:
- 'config:field.storage.commerce_product_variation.field_description'
- 'config:field.storage.commerce_product_variation.field_multiple'

View File

@ -25,7 +25,7 @@ id: showrooms
label: Showrooms label: Showrooms
module: views module: views
description: '' description: ''
tag: '' tag: Materio
base_table: taxonomy_term_field_data base_table: taxonomy_term_field_data
base_field: tid base_field: tid
core: 8.x core: 8.x

View File

@ -89,7 +89,7 @@ class AjaxHomeController extends ControllerBase {
$data['#cache'] = [ $data['#cache'] = [
'max-age' => \Drupal\Core\Cache\Cache::PERMANENT, 'max-age' => \Drupal\Core\Cache\Cache::PERMANENT,
'tags' => ['edlp-home-cache'], 'tags' => ['materio-home-cache'],
'contexts' => [ 'contexts' => [
'languages:language_content' 'languages:language_content'
] ]

View File

@ -445,6 +445,18 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n
/***/ }), /***/ }),
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?vue&type=script&lang=js&":
/*!****************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?vue&type=script&lang=js& ***!
\****************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _restAxios = __webpack_require__(/*! vuejs/api/rest-axios */ \"./web/themes/custom/materiotheme/vuejs/api/rest-axios.js\");\n\nvar _route = _interopRequireDefault(__webpack_require__(/*! vuejs/route */ \"./web/themes/custom/materiotheme/vuejs/route/index.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar basePath = drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix;\nvar _default = {\n name: \"Product\",\n router: _route.default,\n props: ['product'],\n data: function data() {\n return {\n quantity: 1\n };\n },\n methods: {\n addtocart: function addtocart() {\n console.log(\"addtocart clicked\"); // curl -X POST \\\n // 'http://localhost:32775/cart/add?_format=json' \\\n // -H 'Content-Type: application/json' \\\n // -d '[{ \"purchased_entity_type\": \"commerce_product_variation\", \"purchased_entity_id\": \"6\", \"quantity\": \"1\"}]'\n\n _restAxios.REST.post(\"/cart/add?_format=json\", [{\n \"purchased_entity_type\": \"commerce_product_variation\",\n \"purchased_entity_id\": this.product.variation_id,\n \"quantity\": this.quantity\n }]).then(function (_ref) {\n var data = _ref.data;\n console.log('product add to cart REST: data', data);\n }).catch(function (error) {\n console.warn('Issue with pricing', error);\n Promise.reject(error);\n });\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue?vue&type=script&lang=js&": /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue?vue&type=script&lang=js&":
/*!*****************************************************************************************************************************************************************************************!*\ /*!*****************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue?vue&type=script&lang=js& ***! !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue?vue&type=script&lang=js& ***!
@ -505,6 +517,18 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n
/***/ }), /***/ }),
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?vue&type=script&lang=js&":
/*!***********************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?vue&type=script&lang=js& ***!
\***********************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n// import Showroom from 'vuejs/components/Content/Showroom'\n// import { mapState, mapActions } from 'vuex'\nvar _default = {\n name: \"cart\",\n // data() {\n // return {\n // items:[],\n // page:0\n // }\n // },\n // computed: {\n // ...mapState({\n // items: state => state.Showrooms.items\n // })\n // },\n created: function created() {// if(!this.items.length)\n // this.getItems()\n },\n methods: {// ...mapActions({\n // getItems: 'Showrooms/getItems'\n // })\n } // components: {\n // Showroom\n // }\n\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Pages/Home.vue?vue&type=script&lang=js&": /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Pages/Home.vue?vue&type=script&lang=js&":
/*!***********************************************************************************************************************************************************************************!*\ /*!***********************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Home.vue?vue&type=script&lang=js& ***! !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Home.vue?vue&type=script&lang=js& ***!
@ -517,6 +541,18 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n
/***/ }), /***/ }),
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?vue&type=script&lang=js&":
/*!**************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?vue&type=script&lang=js& ***!
\**************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _Product = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Content/Product */ \"./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: \"Pricing\",\n // data() {\n // return {\n // items:[],\n // page:0\n // }\n // },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n pricing: function pricing(state) {\n return state.Pages.pricing;\n }\n })),\n created: function created() {\n if (!this.pricing.length) this.getPricing();\n },\n methods: _objectSpread({}, (0, _vuex.mapActions)({\n getPricing: 'Pages/getPricing'\n })),\n components: {\n Product: _Product.default\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue?vue&type=script&lang=js&": /***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue?vue&type=script&lang=js&":
/*!****************************************************************************************************************************************************************************************!*\ /*!****************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue?vue&type=script&lang=js& ***! !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue?vue&type=script&lang=js& ***!
@ -714,6 +750,18 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ }), /***/ }),
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?vue&type=template&id=0f9e2147&scoped=true&":
/*!******************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?vue&type=template&id=0f9e2147&scoped=true& ***!
\******************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"article\", { staticClass: \"product\" }, [\n _c(\"header\", [\n _c(\"h1\", { domProps: { innerHTML: _vm._s(_vm.product.title) } })\n ]),\n _vm._v(\" \"),\n _c(\"section\", { staticClass: \"content\" }, [\n _c(\"div\", {\n staticClass: \"description\",\n domProps: { innerHTML: _vm._s(_vm.product.field_description) }\n }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"price\" }, [\n _vm._v(_vm._s(_vm.product.price__number))\n ])\n ]),\n _vm._v(\" \"),\n _c(\"aside\", {}, [\n _vm.product.field_multiple\n ? _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.quantity,\n expression: \"quantity\"\n }\n ],\n attrs: {\n placeholder: \"quantity\",\n type: \"text\",\n name: \"quantity\",\n value: \"1\"\n },\n domProps: { value: _vm.quantity },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.quantity = $event.target.value\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n attrs: { type: \"button\", name: \"addtocart\" },\n on: {\n click: function($event) {\n $event.stopPropagation()\n return _vm.addtocart($event)\n }\n }\n },\n [_vm._v(\"\\n Commander\\n \")]\n )\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue?vue&type=template&id=695652b0&scoped=true&": /***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue?vue&type=template&id=695652b0&scoped=true&":
/*!*******************************************************************************************************************************************************************************************************************************************************!*\ /*!*******************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue?vue&type=template&id=695652b0&scoped=true& ***! !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue?vue&type=template&id=695652b0&scoped=true& ***!
@ -762,6 +810,30 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ }), /***/ }),
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?vue&type=template&id=64ad280d&scoped=true&":
/*!*************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?vue&type=template&id=64ad280d&scoped=true& ***!
\*************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"cart\" } }, [\n true\n ? _c(\"div\", { staticClass: \"loading\" }, [\n _c(\"span\", [_vm._v(\"Loading ...\")])\n ])\n : undefined,\n _vm._v(\" \"),\n _c(\"div\", {}, [_vm._v(\"\\n This the cart\\n \")])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?vue&type=template&id=bdd44e2e&scoped=true&":
/*!****************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?vue&type=template&id=bdd44e2e&scoped=true& ***!
\****************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"pricing\" } },\n [\n !_vm.pricing.length\n ? _c(\"div\", { staticClass: \"loading\" }, [\n _c(\"span\", [_vm._v(\"Loading ...\")])\n ])\n : _vm._l(_vm.pricing, function(product) {\n return _c(\"Product\", {\n key: product.uuid,\n attrs: { product: product }\n })\n })\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue?vue&type=template&id=7566e5fe&scoped=true&": /***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue?vue&type=template&id=7566e5fe&scoped=true&":
/*!******************************************************************************************************************************************************************************************************************************************************!*\ /*!******************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue?vue&type=template&id=7566e5fe&scoped=true& ***! !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue?vue&type=template&id=7566e5fe&scoped=true& ***!
@ -1119,6 +1191,42 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
/***/ }), /***/ }),
/***/ "./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue":
/*!*****************************************************************************!*\
!*** ./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue ***!
\*****************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Product_vue_vue_type_template_id_0f9e2147_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Product.vue?vue&type=template&id=0f9e2147&scoped=true& */ \"./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?vue&type=template&id=0f9e2147&scoped=true&\");\n/* harmony import */ var _Product_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Product.vue?vue&type=script&lang=js& */ \"./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?vue&type=script&lang=js&\");\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _Product_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _Product_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _Product_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _Product_vue_vue_type_template_id_0f9e2147_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _Product_vue_vue_type_template_id_0f9e2147_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"0f9e2147\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"web/themes/custom/materiotheme/vuejs/components/Content/Product.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?");
/***/ }),
/***/ "./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?vue&type=script&lang=js&":
/*!******************************************************************************************************!*\
!*** ./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?vue&type=script&lang=js& ***!
\******************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Product_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../node_modules/babel-loader/lib!../../../../../../../node_modules/vue-loader/lib??vue-loader-options!./Product.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Product_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Product_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Product_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Product_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Product_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); \n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?");
/***/ }),
/***/ "./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?vue&type=template&id=0f9e2147&scoped=true&":
/*!************************************************************************************************************************!*\
!*** ./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?vue&type=template&id=0f9e2147&scoped=true& ***!
\************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Product_vue_vue_type_template_id_0f9e2147_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../node_modules/vue-loader/lib??vue-loader-options!./Product.vue?vue&type=template&id=0f9e2147&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?vue&type=template&id=0f9e2147&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Product_vue_vue_type_template_id_0f9e2147_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Product_vue_vue_type_template_id_0f9e2147_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Content/Product.vue?");
/***/ }),
/***/ "./web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue": /***/ "./web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue":
/*!******************************************************************************!*\ /*!******************************************************************************!*\
!*** ./web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue ***! !*** ./web/themes/custom/materiotheme/vuejs/components/Content/Showroom.vue ***!
@ -1287,6 +1395,42 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
/***/ }), /***/ }),
/***/ "./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue":
/*!************************************************************************!*\
!*** ./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue ***!
\************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Cart_vue_vue_type_template_id_64ad280d_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Cart.vue?vue&type=template&id=64ad280d&scoped=true& */ \"./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?vue&type=template&id=64ad280d&scoped=true&\");\n/* harmony import */ var _Cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Cart.vue?vue&type=script&lang=js& */ \"./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?vue&type=script&lang=js&\");\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _Cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _Cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _Cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _Cart_vue_vue_type_template_id_64ad280d_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _Cart_vue_vue_type_template_id_64ad280d_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"64ad280d\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?");
/***/ }),
/***/ "./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?vue&type=script&lang=js&":
/*!*************************************************************************************************!*\
!*** ./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?vue&type=script&lang=js& ***!
\*************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../node_modules/babel-loader/lib!../../../../../../../node_modules/vue-loader/lib??vue-loader-options!./Cart.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); \n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?");
/***/ }),
/***/ "./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?vue&type=template&id=64ad280d&scoped=true&":
/*!*******************************************************************************************************************!*\
!*** ./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?vue&type=template&id=64ad280d&scoped=true& ***!
\*******************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Cart_vue_vue_type_template_id_64ad280d_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../node_modules/vue-loader/lib??vue-loader-options!./Cart.vue?vue&type=template&id=64ad280d&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?vue&type=template&id=64ad280d&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Cart_vue_vue_type_template_id_64ad280d_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Cart_vue_vue_type_template_id_64ad280d_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue?");
/***/ }),
/***/ "./web/themes/custom/materiotheme/vuejs/components/Pages/Home.vue": /***/ "./web/themes/custom/materiotheme/vuejs/components/Pages/Home.vue":
/*!************************************************************************!*\ /*!************************************************************************!*\
!*** ./web/themes/custom/materiotheme/vuejs/components/Pages/Home.vue ***! !*** ./web/themes/custom/materiotheme/vuejs/components/Pages/Home.vue ***!
@ -1311,6 +1455,42 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
/***/ }), /***/ }),
/***/ "./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue":
/*!***************************************************************************!*\
!*** ./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue ***!
\***************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Pricing_vue_vue_type_template_id_bdd44e2e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Pricing.vue?vue&type=template&id=bdd44e2e&scoped=true& */ \"./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?vue&type=template&id=bdd44e2e&scoped=true&\");\n/* harmony import */ var _Pricing_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Pricing.vue?vue&type=script&lang=js& */ \"./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?vue&type=script&lang=js&\");\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _Pricing_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _Pricing_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _Pricing_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _Pricing_vue_vue_type_template_id_bdd44e2e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _Pricing_vue_vue_type_template_id_bdd44e2e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"bdd44e2e\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?");
/***/ }),
/***/ "./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?vue&type=script&lang=js&":
/*!****************************************************************************************************!*\
!*** ./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?vue&type=script&lang=js& ***!
\****************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Pricing_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../node_modules/babel-loader/lib!../../../../../../../node_modules/vue-loader/lib??vue-loader-options!./Pricing.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Pricing_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Pricing_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Pricing_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Pricing_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Pricing_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); \n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?");
/***/ }),
/***/ "./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?vue&type=template&id=bdd44e2e&scoped=true&":
/*!**********************************************************************************************************************!*\
!*** ./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?vue&type=template&id=bdd44e2e&scoped=true& ***!
\**********************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Pricing_vue_vue_type_template_id_bdd44e2e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../node_modules/vue-loader/lib??vue-loader-options!./Pricing.vue?vue&type=template&id=bdd44e2e&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?vue&type=template&id=bdd44e2e&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Pricing_vue_vue_type_template_id_bdd44e2e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Pricing_vue_vue_type_template_id_bdd44e2e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue?");
/***/ }),
/***/ "./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue": /***/ "./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue":
/*!*****************************************************************************!*\ /*!*****************************************************************************!*\
!*** ./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue ***! !*** ./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue ***!
@ -1403,7 +1583,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.js\"));\n\nvar _vueRouter = _interopRequireDefault(__webpack_require__(/*! vue-router */ \"./node_modules/vue-router/dist/vue-router.esm.js\"));\n\nvar _Home = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Pages/Home */ \"./web/themes/custom/materiotheme/vuejs/components/Pages/Home.vue\"));\n\nvar _Base = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Pages/Base */ \"./web/themes/custom/materiotheme/vuejs/components/Pages/Base.vue\"));\n\nvar _Blabla = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Pages/Blabla */ \"./web/themes/custom/materiotheme/vuejs/components/Pages/Blabla.vue\"));\n\nvar _Article = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Pages/Article */ \"./web/themes/custom/materiotheme/vuejs/components/Pages/Article.vue\"));\n\nvar _Showrooms = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Pages/Showrooms */ \"./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_vue.default.use(_vueRouter.default); // https://www.lullabot.com/articles/decoupled-hard-problems-routing\n// We could use aliases to never reload the page on language changement\n// BUT beforeupdate is not triggered when push alias instead of path or name\n// const languages = ['en', 'fr'];\n// console.log('path aliases', (() => languages.map(l => `/${l}/base`))() );\n\n\nvar basePath = drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix;\nvar routes = [{\n name: 'home',\n path: basePath,\n // path: '/',\n // alias: (() => languages.map(l => `/${l}`))(),\n component: _Home.default // components: {\n // 'home': Home\n // }\n\n}, {\n name: 'base',\n path: \"\".concat(basePath, \"base\"),\n // path: `/base`,\n // alias: (() => languages.map(l => `/${l}/base`))(),\n component: _Base.default // components: {\n // 'base': Base\n // }\n\n}, // {\n// name:'blabla',\n// path: `${basePath}blabla`,\n// component: Blabla,\n// children: [\n// {\n// path: `${basePath}blabla/:alias`,\n// component: Article\n// }\n// ]\n// }\n{\n name: 'blabla',\n path: \"\".concat(basePath, \"blabla\"),\n component: _Blabla.default\n}, {\n name: 'article',\n path: \"\".concat(basePath, \"blabla/:alias\"),\n component: _Article.default // meta: { uuid:null }\n\n}, {\n name: 'showrooms',\n path: \"\".concat(basePath, \"showrooms\"),\n component: _Showrooms.default // meta: { uuid:null }\n // {\n // path: '*',\n // name: 'notfound',\n // components: {\n // 'notfound': NotFound\n // }\n // }\n\n}];\n\nvar _default = new _vueRouter.default({\n mode: 'history',\n routes: routes\n});\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/route/index.js?"); eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.js\"));\n\nvar _vueRouter = _interopRequireDefault(__webpack_require__(/*! vue-router */ \"./node_modules/vue-router/dist/vue-router.esm.js\"));\n\nvar _Home = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Pages/Home */ \"./web/themes/custom/materiotheme/vuejs/components/Pages/Home.vue\"));\n\nvar _Base = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Pages/Base */ \"./web/themes/custom/materiotheme/vuejs/components/Pages/Base.vue\"));\n\nvar _Blabla = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Pages/Blabla */ \"./web/themes/custom/materiotheme/vuejs/components/Pages/Blabla.vue\"));\n\nvar _Article = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Pages/Article */ \"./web/themes/custom/materiotheme/vuejs/components/Pages/Article.vue\"));\n\nvar _Showrooms = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Pages/Showrooms */ \"./web/themes/custom/materiotheme/vuejs/components/Pages/Showrooms.vue\"));\n\nvar _Pricing = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Pages/Pricing */ \"./web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue\"));\n\nvar _Cart = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Pages/Cart */ \"./web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_vue.default.use(_vueRouter.default); // https://www.lullabot.com/articles/decoupled-hard-problems-routing\n// We could use aliases to never reload the page on language changement\n// BUT beforeupdate is not triggered when push alias instead of path or name\n// const languages = ['en', 'fr'];\n// console.log('path aliases', (() => languages.map(l => `/${l}/base`))() );\n\n\nvar basePath = drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix;\nvar routes = [{\n name: 'home',\n path: basePath,\n // path: '/',\n // alias: (() => languages.map(l => `/${l}`))(),\n component: _Home.default // components: {\n // 'home': Home\n // }\n\n}, {\n name: 'base',\n path: \"\".concat(basePath, \"base\"),\n // path: `/base`,\n // alias: (() => languages.map(l => `/${l}/base`))(),\n component: _Base.default // components: {\n // 'base': Base\n // }\n\n}, // {\n// name:'blabla',\n// path: `${basePath}blabla`,\n// component: Blabla,\n// children: [\n// {\n// path: `${basePath}blabla/:alias`,\n// component: Article\n// }\n// ]\n// }\n{\n name: 'blabla',\n path: \"\".concat(basePath, \"blabla\"),\n component: _Blabla.default\n}, {\n name: 'article',\n path: \"\".concat(basePath, \"blabla/:alias\"),\n component: _Article.default // meta: { uuid:null }\n\n}, {\n name: 'showrooms',\n path: \"\".concat(basePath, \"showrooms\"),\n component: _Showrooms.default // meta: { uuid:null }\n\n}, // {\n// path: '*',\n// name: 'notfound',\n// components: {\n// 'notfound': NotFound\n// }\n// },\n{\n name: 'pricing',\n path: \"\".concat(basePath, \"pricing\"),\n component: _Pricing.default\n}, {\n name: 'cart',\n path: \"\".concat(basePath, \"cart\"),\n component: _Cart.default\n}];\n\nvar _default = new _vueRouter.default({\n mode: 'history',\n routes: routes\n});\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/route/index.js?");
/***/ }), /***/ }),
@ -1415,7 +1595,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.js\"));\n\nvar _vuex = _interopRequireDefault(__webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\"));\n\nvar _common = _interopRequireDefault(__webpack_require__(/*! ./modules/common */ \"./web/themes/custom/materiotheme/vuejs/store/modules/common.js\"));\n\nvar _user = _interopRequireDefault(__webpack_require__(/*! ./modules/user */ \"./web/themes/custom/materiotheme/vuejs/store/modules/user.js\"));\n\nvar _search = _interopRequireDefault(__webpack_require__(/*! ./modules/search */ \"./web/themes/custom/materiotheme/vuejs/store/modules/search.js\"));\n\nvar _blabla = _interopRequireDefault(__webpack_require__(/*! ./modules/blabla */ \"./web/themes/custom/materiotheme/vuejs/store/modules/blabla.js\"));\n\nvar _showrooms = _interopRequireDefault(__webpack_require__(/*! ./modules/showrooms */ \"./web/themes/custom/materiotheme/vuejs/store/modules/showrooms.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// https://github.com/vuejs/vuex/tree/dev/examples/shopping-cart\n_vue.default.use(_vuex.default);\n\nvar _default = new _vuex.default.Store({\n modules: {\n Common: _common.default,\n User: _user.default,\n Search: _search.default,\n Blabla: _blabla.default,\n Showrooms: _showrooms.default\n }\n});\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/store/index.js?"); eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.js\"));\n\nvar _vuex = _interopRequireDefault(__webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\"));\n\nvar _common = _interopRequireDefault(__webpack_require__(/*! ./modules/common */ \"./web/themes/custom/materiotheme/vuejs/store/modules/common.js\"));\n\nvar _user = _interopRequireDefault(__webpack_require__(/*! ./modules/user */ \"./web/themes/custom/materiotheme/vuejs/store/modules/user.js\"));\n\nvar _search = _interopRequireDefault(__webpack_require__(/*! ./modules/search */ \"./web/themes/custom/materiotheme/vuejs/store/modules/search.js\"));\n\nvar _blabla = _interopRequireDefault(__webpack_require__(/*! ./modules/blabla */ \"./web/themes/custom/materiotheme/vuejs/store/modules/blabla.js\"));\n\nvar _showrooms = _interopRequireDefault(__webpack_require__(/*! ./modules/showrooms */ \"./web/themes/custom/materiotheme/vuejs/store/modules/showrooms.js\"));\n\nvar _pages = _interopRequireDefault(__webpack_require__(/*! ./modules/pages */ \"./web/themes/custom/materiotheme/vuejs/store/modules/pages.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// https://github.com/vuejs/vuex/tree/dev/examples/shopping-cart\n_vue.default.use(_vuex.default);\n\nvar _default = new _vuex.default.Store({\n modules: {\n Common: _common.default,\n User: _user.default,\n Search: _search.default,\n Blabla: _blabla.default,\n Showrooms: _showrooms.default,\n Pages: _pages.default\n }\n});\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/store/index.js?");
/***/ }), /***/ }),
@ -1443,6 +1623,18 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n
/***/ }), /***/ }),
/***/ "./web/themes/custom/materiotheme/vuejs/store/modules/pages.js":
/*!*********************************************************************!*\
!*** ./web/themes/custom/materiotheme/vuejs/store/modules/pages.js ***!
\*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _jsonAxios = __webpack_require__(/*! vuejs/api/json-axios */ \"./web/themes/custom/materiotheme/vuejs/api/json-axios.js\");\n\nvar _restAxios = __webpack_require__(/*! vuejs/api/rest-axios */ \"./web/themes/custom/materiotheme/vuejs/api/rest-axios.js\");\n\nvar _maAxios = __webpack_require__(/*! vuejs/api/ma-axios */ \"./web/themes/custom/materiotheme/vuejs/api/ma-axios.js\");\n\nvar _querystring = _interopRequireDefault(__webpack_require__(/*! querystring */ \"./node_modules/querystring-es3/index.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = {\n namespaced: true,\n // initial state\n state: {\n pricing: {}\n },\n // getters\n getters: {},\n // mutations\n mutations: {\n setPricing: function setPricing(state, page) {\n state.pricing = page;\n }\n },\n // actions\n actions: {\n getPricing: function getPricing(_ref) {\n var dispatch = _ref.dispatch,\n commit = _ref.commit,\n state = _ref.state;\n\n _restAxios.REST.get(\"/pricing_rest?_format=json\", {}).then(function (_ref2) {\n var data = _ref2.data;\n console.log('pricing REST: data', data);\n commit('setPricing', data);\n }).catch(function (error) {\n console.warn('Issue with pricing', error);\n Promise.reject(error);\n });\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/store/modules/pages.js?");
/***/ }),
/***/ "./web/themes/custom/materiotheme/vuejs/store/modules/search.js": /***/ "./web/themes/custom/materiotheme/vuejs/store/modules/search.js":
/*!**********************************************************************!*\ /*!**********************************************************************!*\
!*** ./web/themes/custom/materiotheme/vuejs/store/modules/search.js ***! !*** ./web/themes/custom/materiotheme/vuejs/store/modules/search.js ***!

View File

@ -0,0 +1,74 @@
<template>
<article class="product">
<header>
<h1 v-html="product.title" />
</header>
<section class="content">
<div class="description" v-html="product.field_description" />
<span class="price">{{ product.price__number }}</span>
</section>
<aside class="">
<input
v-if="product.field_multiple"
v-model="quantity"
placeholder="quantity"
type="text"
name="quantity"
value="1"
/>
<button
type="button"
name="addtocart"
@click.stop="addtocart"
>
Commander
</button>
</aside>
</article>
</template>
<script>
import { REST } from 'vuejs/api/rest-axios'
import router from 'vuejs/route'
let basePath = drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix;
export default {
name: "Product",
router,
props: ['product'],
data(){
return {
quantity: 1
}
},
methods:{
addtocart () {
console.log("addtocart clicked");
// curl -X POST \
// 'http://localhost:32775/cart/add?_format=json' \
// -H 'Content-Type: application/json' \
// -d '[{ "purchased_entity_type": "commerce_product_variation", "purchased_entity_id": "6", "quantity": "1"}]'
REST.post(`/cart/add?_format=json`, [{
"purchased_entity_type": "commerce_product_variation",
"purchased_entity_id": this.product.variation_id,
"quantity": this.quantity
}])
.then(({ data }) => {
console.log('product add to cart REST: data', data)
})
.catch(( error ) => {
console.warn('Issue with pricing', error)
Promise.reject(error)
})
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -0,0 +1,45 @@
<template>
<div id="cart">
<div class="loading" v-if="!false">
<span>Loading ...</span>
</div>
<div class="">
This the cart
</div>
</div>
</template>
<script>
// import Showroom from 'vuejs/components/Content/Showroom'
// import { mapState, mapActions } from 'vuex'
export default {
name: "cart",
// data() {
// return {
// items:[],
// page:0
// }
// },
// computed: {
// ...mapState({
// items: state => state.Showrooms.items
// })
// },
created(){
// if(!this.items.length)
// this.getItems()
},
methods: {
// ...mapActions({
// getItems: 'Showrooms/getItems'
// })
},
// components: {
// Showroom
// }
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -0,0 +1,48 @@
<template>
<div id="pricing">
<div class="loading" v-if="!pricing.length">
<span>Loading ...</span>
</div>
<Product
v-else
v-for="product in pricing"
v-bind:key="product.uuid"
:product="product"
/>
</div>
</template>
<script>
import Product from 'vuejs/components/Content/Product'
import { mapState, mapActions } from 'vuex'
export default {
name: "Pricing",
// data() {
// return {
// items:[],
// page:0
// }
// },
computed: {
...mapState({
pricing: state => state.Pages.pricing
})
},
created(){
if(!this.pricing.length)
this.getPricing()
},
methods: {
...mapActions({
getPricing: 'Pages/getPricing'
})
},
components: {
Product
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -6,6 +6,8 @@ import Base from 'vuejs/components/Pages/Base'
import Blabla from 'vuejs/components/Pages/Blabla' import Blabla from 'vuejs/components/Pages/Blabla'
import Article from 'vuejs/components/Pages/Article' import Article from 'vuejs/components/Pages/Article'
import Showrooms from 'vuejs/components/Pages/Showrooms' import Showrooms from 'vuejs/components/Pages/Showrooms'
import Pricing from 'vuejs/components/Pages/Pricing'
import Cart from 'vuejs/components/Pages/Cart'
Vue.use(VueRouter) Vue.use(VueRouter)
@ -66,14 +68,24 @@ const routes = [
path: `${basePath}showrooms`, path: `${basePath}showrooms`,
component: Showrooms, component: Showrooms,
// meta: { uuid:null } // meta: { uuid:null }
} },
// { // {
// path: '*', // path: '*',
// name: 'notfound', // name: 'notfound',
// components: { // components: {
// 'notfound': NotFound // 'notfound': NotFound
// } // }
// } // },
{
name:'pricing',
path: `${basePath}pricing`,
component: Pricing
},
{
name:'cart',
path: `${basePath}cart`,
component: Cart
}
] ]
export default new VueRouter({ export default new VueRouter({

View File

@ -5,6 +5,7 @@ import User from './modules/user'
import Search from './modules/search' import Search from './modules/search'
import Blabla from './modules/blabla' import Blabla from './modules/blabla'
import Showrooms from './modules/showrooms' import Showrooms from './modules/showrooms'
import Pages from './modules/pages'
// https://github.com/vuejs/vuex/tree/dev/examples/shopping-cart // https://github.com/vuejs/vuex/tree/dev/examples/shopping-cart
@ -15,6 +16,7 @@ export default new Vuex.Store({
User, User,
Search, Search,
Blabla, Blabla,
Showrooms Showrooms,
Pages
} }
}) })

View File

@ -0,0 +1,38 @@
import { JSONAPI } from 'vuejs/api/json-axios'
import { REST } from 'vuejs/api/rest-axios'
import { MA } from 'vuejs/api/ma-axios'
import qs from 'querystring'
export default {
namespaced: true,
// initial state
state : {
pricing: {},
},
// getters
getters : {},
// mutations
mutations : {
setPricing (state, page) {
state.pricing = page
}
},
// actions
actions : {
getPricing({ dispatch, commit, state }){
REST.get(`/pricing_rest?_format=json`, {})
.then(({ data }) => {
console.log('pricing REST: data', data)
commit('setPricing',data)
})
.catch(( error ) => {
console.warn('Issue with pricing', error)
Promise.reject(error)
})
}
}
}