From ebb20c61768391498ba0caca771ca3c1d0dc3096 Mon Sep 17 00:00:00 2001 From: Bachir Soussi Chiadmi Date: Sat, 5 Oct 2019 20:01:06 +0200 Subject: [PATCH] display product list, rest addtocart --- composer.json | 1 + composer.lock | 55 +- config/sync/block.block.cart.yml | 21 + config/sync/commerce_store.settings.yml | 2 +- ...materio_product_variation_type.default.yml | 8 + ...rio_product_variation_type.add_to_cart.yml | 40 ++ ...materio_product_variation_type.default.yml | 12 + ...commerce_product_variation.add_to_cart.yml | 10 + config/sync/core.extension.yml | 1 + ..._product_variation_type.field_multiple.yml | 23 + ...merce_product_variation.field_multiple.yml | 18 + .../sync/rest.resource.commerce_cart_add.yml | 20 + .../rest.resource.commerce_cart_canonical.yml | 20 + .../rest.resource.commerce_cart_clear.yml | 20 + ...rest.resource.commerce_cart_collection.yml | 20 + .../rest.resource.commerce_cart_coupons.yml | 22 + ...est.resource.commerce_cart_remove_item.yml | 20 + ...est.resource.commerce_cart_update_item.yml | 20 + ...st.resource.commerce_cart_update_items.yml | 20 + config/sync/views.view.blabla.yml | 2 +- config/sync/views.view.pricing.yml | 633 ++++++++++++++++++ config/sync/views.view.showrooms.yml | 2 +- .../src/Controller/AjaxHomeController.php | 2 +- .../custom/materiotheme/assets/dist/main.js | 196 +++++- .../vuejs/components/Content/Product.vue | 74 ++ .../vuejs/components/Pages/Cart.vue | 45 ++ .../vuejs/components/Pages/Pricing.vue | 48 ++ .../custom/materiotheme/vuejs/route/index.js | 16 +- .../custom/materiotheme/vuejs/store/index.js | 4 +- .../materiotheme/vuejs/store/modules/pages.js | 38 ++ 30 files changed, 1403 insertions(+), 10 deletions(-) create mode 100644 config/sync/block.block.cart.yml create mode 100644 config/sync/core.entity_view_display.commerce_product_variation.materio_product_variation_type.add_to_cart.yml create mode 100644 config/sync/core.entity_view_mode.commerce_product_variation.add_to_cart.yml create mode 100644 config/sync/field.field.commerce_product_variation.materio_product_variation_type.field_multiple.yml create mode 100644 config/sync/field.storage.commerce_product_variation.field_multiple.yml create mode 100644 config/sync/rest.resource.commerce_cart_add.yml create mode 100644 config/sync/rest.resource.commerce_cart_canonical.yml create mode 100644 config/sync/rest.resource.commerce_cart_clear.yml create mode 100644 config/sync/rest.resource.commerce_cart_collection.yml create mode 100644 config/sync/rest.resource.commerce_cart_coupons.yml create mode 100644 config/sync/rest.resource.commerce_cart_remove_item.yml create mode 100644 config/sync/rest.resource.commerce_cart_update_item.yml create mode 100644 config/sync/rest.resource.commerce_cart_update_items.yml create mode 100644 config/sync/views.view.pricing.yml create mode 100644 web/themes/custom/materiotheme/vuejs/components/Content/Product.vue create mode 100644 web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue create mode 100644 web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue create mode 100644 web/themes/custom/materiotheme/vuejs/store/modules/pages.js diff --git a/composer.json b/composer.json index 6343b11b..bd882b07 100644 --- a/composer.json +++ b/composer.json @@ -23,6 +23,7 @@ "drupal/amswap": "^2.0", "drupal/auto_entitylabel": "2.x-dev", "drupal/commerce": "^2.12", + "drupal/commerce_cart_api": "^1.4", "drupal/commerce_license": "^2.0@alpha", "drupal/commerce_migrate": "^2.0", "drupal/commerce_monetico": "^1.0", diff --git a/composer.lock b/composer.lock index ebfef1b5..1208e1e4 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "7e10b3f48a875330ee707d7cee2bac93", + "content-hash": "bee8de31ae3bb4fa7aa201097983403f", "packages": [ { "name": "alchemy/zippy", @@ -3431,6 +3431,59 @@ "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", "version": "2.13.0", diff --git a/config/sync/block.block.cart.yml b/config/sync/block.block.cart.yml new file mode 100644 index 00000000..d12867cd --- /dev/null +++ b/config/sync/block.block.cart.yml @@ -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: { } diff --git a/config/sync/commerce_store.settings.yml b/config/sync/commerce_store.settings.yml index 76d8edcc..5fb70902 100644 --- a/config/sync/commerce_store.settings.yml +++ b/config/sync/commerce_store.settings.yml @@ -1,3 +1,3 @@ -default_store: bb23cf22-6a06-4f8d-88fc-0998f15ff2d0 +default_store: 8efb0192-cf8d-4aaa-86e3-01ffd5e09bb8 _core: default_config_hash: B9ZFGR76POyzj9f3Sh66F346_Jp-wnnUc78Hk3Q-60o diff --git a/config/sync/core.entity_form_display.commerce_product_variation.materio_product_variation_type.default.yml b/config/sync/core.entity_form_display.commerce_product_variation.materio_product_variation_type.default.yml index b4b16dd3..9ab3ac88 100644 --- a/config/sync/core.entity_form_display.commerce_product_variation.materio_product_variation_type.default.yml +++ b/config/sync/core.entity_form_display.commerce_product_variation.materio_product_variation_type.default.yml @@ -6,6 +6,7 @@ dependencies: - 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.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_type - field.field.commerce_product_variation.materio_product_variation_type.subscription_type @@ -32,6 +33,13 @@ content: third_party_settings: { } type: text_textarea region: content + field_multiple: + weight: 93 + settings: + display_label: true + third_party_settings: { } + type: boolean_checkbox + region: content langcode: type: language_select weight: 2 diff --git a/config/sync/core.entity_view_display.commerce_product_variation.materio_product_variation_type.add_to_cart.yml b/config/sync/core.entity_view_display.commerce_product_variation.materio_product_variation_type.add_to_cart.yml new file mode 100644 index 00000000..582ecf30 --- /dev/null +++ b/config/sync/core.entity_view_display.commerce_product_variation.materio_product_variation_type.add_to_cart.yml @@ -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 diff --git a/config/sync/core.entity_view_display.commerce_product_variation.materio_product_variation_type.default.yml b/config/sync/core.entity_view_display.commerce_product_variation.materio_product_variation_type.default.yml index cc8d7ddb..1e0c2c12 100644 --- a/config/sync/core.entity_view_display.commerce_product_variation.materio_product_variation_type.default.yml +++ b/config/sync/core.entity_view_display.commerce_product_variation.materio_product_variation_type.default.yml @@ -6,6 +6,7 @@ dependencies: - 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.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_type - field.field.commerce_product_variation.materio_product_variation_type.subscription_type @@ -33,6 +34,16 @@ content: third_party_settings: { } type: text_default 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: label: hidden type: commerce_price_default @@ -57,5 +68,6 @@ hidden: license_type: true list_price: true product_id: true + search_api_excerpt: true sku: true subscription_type: true diff --git a/config/sync/core.entity_view_mode.commerce_product_variation.add_to_cart.yml b/config/sync/core.entity_view_mode.commerce_product_variation.add_to_cart.yml new file mode 100644 index 00000000..5122c044 --- /dev/null +++ b/config/sync/core.entity_view_mode.commerce_product_variation.add_to_cart.yml @@ -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 diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml index 07a01f4b..ccc70875 100644 --- a/config/sync/core.extension.yml +++ b/config/sync/core.extension.yml @@ -19,6 +19,7 @@ module: ckeditor: 0 commerce: 0 commerce_cart: 0 + commerce_cart_api: 0 commerce_checkout: 0 commerce_cmcic: 0 commerce_license: 0 diff --git a/config/sync/field.field.commerce_product_variation.materio_product_variation_type.field_multiple.yml b/config/sync/field.field.commerce_product_variation.materio_product_variation_type.field_multiple.yml new file mode 100644 index 00000000..6dd63dfa --- /dev/null +++ b/config/sync/field.field.commerce_product_variation.materio_product_variation_type.field_multiple.yml @@ -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 diff --git a/config/sync/field.storage.commerce_product_variation.field_multiple.yml b/config/sync/field.storage.commerce_product_variation.field_multiple.yml new file mode 100644 index 00000000..f11ba3b3 --- /dev/null +++ b/config/sync/field.storage.commerce_product_variation.field_multiple.yml @@ -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 diff --git a/config/sync/rest.resource.commerce_cart_add.yml b/config/sync/rest.resource.commerce_cart_add.yml new file mode 100644 index 00000000..c1079aef --- /dev/null +++ b/config/sync/rest.resource.commerce_cart_add.yml @@ -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 diff --git a/config/sync/rest.resource.commerce_cart_canonical.yml b/config/sync/rest.resource.commerce_cart_canonical.yml new file mode 100644 index 00000000..682404a7 --- /dev/null +++ b/config/sync/rest.resource.commerce_cart_canonical.yml @@ -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 diff --git a/config/sync/rest.resource.commerce_cart_clear.yml b/config/sync/rest.resource.commerce_cart_clear.yml new file mode 100644 index 00000000..4465424e --- /dev/null +++ b/config/sync/rest.resource.commerce_cart_clear.yml @@ -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 diff --git a/config/sync/rest.resource.commerce_cart_collection.yml b/config/sync/rest.resource.commerce_cart_collection.yml new file mode 100644 index 00000000..7b9f93f0 --- /dev/null +++ b/config/sync/rest.resource.commerce_cart_collection.yml @@ -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 diff --git a/config/sync/rest.resource.commerce_cart_coupons.yml b/config/sync/rest.resource.commerce_cart_coupons.yml new file mode 100644 index 00000000..26dc42c5 --- /dev/null +++ b/config/sync/rest.resource.commerce_cart_coupons.yml @@ -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 diff --git a/config/sync/rest.resource.commerce_cart_remove_item.yml b/config/sync/rest.resource.commerce_cart_remove_item.yml new file mode 100644 index 00000000..8e9586f3 --- /dev/null +++ b/config/sync/rest.resource.commerce_cart_remove_item.yml @@ -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 diff --git a/config/sync/rest.resource.commerce_cart_update_item.yml b/config/sync/rest.resource.commerce_cart_update_item.yml new file mode 100644 index 00000000..90d5400e --- /dev/null +++ b/config/sync/rest.resource.commerce_cart_update_item.yml @@ -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 diff --git a/config/sync/rest.resource.commerce_cart_update_items.yml b/config/sync/rest.resource.commerce_cart_update_items.yml new file mode 100644 index 00000000..c5f83ff7 --- /dev/null +++ b/config/sync/rest.resource.commerce_cart_update_items.yml @@ -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 diff --git a/config/sync/views.view.blabla.yml b/config/sync/views.view.blabla.yml index 8cd9365e..8245852e 100644 --- a/config/sync/views.view.blabla.yml +++ b/config/sync/views.view.blabla.yml @@ -24,7 +24,7 @@ id: blabla label: Blabla module: views description: '' -tag: '' +tag: Materio base_table: node_field_data base_field: nid core: 8.x diff --git a/config/sync/views.view.pricing.yml b/config/sync/views.view.pricing.yml new file mode 100644 index 00000000..4975e33e --- /dev/null +++ b/config/sync/views.view.pricing.yml @@ -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' diff --git a/config/sync/views.view.showrooms.yml b/config/sync/views.view.showrooms.yml index a56c6063..f23be39b 100644 --- a/config/sync/views.view.showrooms.yml +++ b/config/sync/views.view.showrooms.yml @@ -25,7 +25,7 @@ id: showrooms label: Showrooms module: views description: '' -tag: '' +tag: Materio base_table: taxonomy_term_field_data base_field: tid core: 8.x diff --git a/web/modules/custom/materio_home/src/Controller/AjaxHomeController.php b/web/modules/custom/materio_home/src/Controller/AjaxHomeController.php index cc577f41..899b381a 100644 --- a/web/modules/custom/materio_home/src/Controller/AjaxHomeController.php +++ b/web/modules/custom/materio_home/src/Controller/AjaxHomeController.php @@ -89,7 +89,7 @@ class AjaxHomeController extends ControllerBase { $data['#cache'] = [ 'max-age' => \Drupal\Core\Cache\Cache::PERMANENT, - 'tags' => ['edlp-home-cache'], + 'tags' => ['materio-home-cache'], 'contexts' => [ 'languages:language_content' ] diff --git a/web/themes/custom/materiotheme/assets/dist/main.js b/web/themes/custom/materiotheme/assets/dist/main.js index 4f149fa8..75326a82 100644 --- a/web/themes/custom/materiotheme/assets/dist/main.js +++ b/web/themes/custom/materiotheme/assets/dist/main.js @@ -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!./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!./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!./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??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??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 ***! @@ -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 ***! @@ -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 ***! @@ -1403,7 +1583,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod /***/ (function(module, exports, __webpack_require__) { "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__) { "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 ***! diff --git a/web/themes/custom/materiotheme/vuejs/components/Content/Product.vue b/web/themes/custom/materiotheme/vuejs/components/Content/Product.vue new file mode 100644 index 00000000..cd175302 --- /dev/null +++ b/web/themes/custom/materiotheme/vuejs/components/Content/Product.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue b/web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue new file mode 100644 index 00000000..6fb6f6a6 --- /dev/null +++ b/web/themes/custom/materiotheme/vuejs/components/Pages/Cart.vue @@ -0,0 +1,45 @@ + + + + diff --git a/web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue b/web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue new file mode 100644 index 00000000..5e8d611b --- /dev/null +++ b/web/themes/custom/materiotheme/vuejs/components/Pages/Pricing.vue @@ -0,0 +1,48 @@ + + + + diff --git a/web/themes/custom/materiotheme/vuejs/route/index.js b/web/themes/custom/materiotheme/vuejs/route/index.js index 6a3bf60b..f1573185 100644 --- a/web/themes/custom/materiotheme/vuejs/route/index.js +++ b/web/themes/custom/materiotheme/vuejs/route/index.js @@ -6,6 +6,8 @@ import Base from 'vuejs/components/Pages/Base' import Blabla from 'vuejs/components/Pages/Blabla' import Article from 'vuejs/components/Pages/Article' import Showrooms from 'vuejs/components/Pages/Showrooms' +import Pricing from 'vuejs/components/Pages/Pricing' +import Cart from 'vuejs/components/Pages/Cart' Vue.use(VueRouter) @@ -66,14 +68,24 @@ const routes = [ path: `${basePath}showrooms`, component: Showrooms, // meta: { uuid:null } - } + }, // { // path: '*', // name: 'notfound', // components: { // 'notfound': NotFound // } - // } + // }, + { + name:'pricing', + path: `${basePath}pricing`, + component: Pricing + }, + { + name:'cart', + path: `${basePath}cart`, + component: Cart + } ] export default new VueRouter({ diff --git a/web/themes/custom/materiotheme/vuejs/store/index.js b/web/themes/custom/materiotheme/vuejs/store/index.js index 0fdaba31..5b631979 100644 --- a/web/themes/custom/materiotheme/vuejs/store/index.js +++ b/web/themes/custom/materiotheme/vuejs/store/index.js @@ -5,6 +5,7 @@ import User from './modules/user' import Search from './modules/search' import Blabla from './modules/blabla' import Showrooms from './modules/showrooms' +import Pages from './modules/pages' // https://github.com/vuejs/vuex/tree/dev/examples/shopping-cart @@ -15,6 +16,7 @@ export default new Vuex.Store({ User, Search, Blabla, - Showrooms + Showrooms, + Pages } }) diff --git a/web/themes/custom/materiotheme/vuejs/store/modules/pages.js b/web/themes/custom/materiotheme/vuejs/store/modules/pages.js new file mode 100644 index 00000000..27a15388 --- /dev/null +++ b/web/themes/custom/materiotheme/vuejs/store/modules/pages.js @@ -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) + }) + } + } +}