@ozdao/prometheus-framework 0.2.317 → 0.2.319
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/products.server.js +4 -0
- package/dist/products.server.mjs +4 -0
- package/dist/prometheus-framework/src/components/Button/Button.vue2.cjs +1 -1
- package/dist/prometheus-framework/src/components/Button/Button.vue2.js +1 -1
- package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.cjs +0 -93
- package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.js +1 -94
- package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.js.map +1 -1
- package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.cjs +93 -0
- package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.cjs.map +1 -1
- package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.js +94 -1
- package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.js.map +1 -1
- package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/Feed/Feed.vue.js +1 -1
- package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/auth/views/components/layouts/Auth.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/layouts/Auth.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/Invite.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/Invite.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -3
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/ProfileEdit.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/constructor/components/elements/Card.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +4 -4
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +4 -4
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +4 -4
- package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +4 -4
- package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/landing/components/sections/SectionGuide.vue.cjs +47 -47
- package/dist/prometheus-framework/src/modules/landing/components/sections/SectionGuide.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/landing/components/sections/SectionGuide.vue.js +47 -47
- package/dist/prometheus-framework/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/landing/components/sections/SectionOverview.vue.cjs +57 -0
- package/dist/prometheus-framework/src/modules/landing/components/sections/SectionOverview.vue.cjs.map +1 -0
- package/dist/prometheus-framework/src/modules/landing/components/sections/SectionOverview.vue.js +57 -0
- package/dist/prometheus-framework/src/modules/landing/components/sections/SectionOverview.vue.js.map +1 -0
- package/dist/prometheus-framework/src/modules/landing/landing.client.cjs +2 -0
- package/dist/prometheus-framework/src/modules/landing/landing.client.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/landing/landing.client.js +6 -4
- package/dist/prometheus-framework/src/modules/landing/landing.client.js.map +1 -1
- package/dist/prometheus-framework/src/modules/marketplace/marketplace.client.cjs +13 -0
- package/dist/prometheus-framework/src/modules/marketplace/marketplace.client.cjs.map +1 -0
- package/dist/prometheus-framework/src/modules/marketplace/marketplace.client.js +13 -0
- package/dist/prometheus-framework/src/modules/marketplace/marketplace.client.js.map +1 -0
- package/dist/prometheus-framework/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +179 -0
- package/dist/prometheus-framework/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs.map +1 -0
- package/dist/prometheus-framework/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +179 -0
- package/dist/prometheus-framework/src/modules/marketplace/views/components/layouts/Marketplace.vue.js.map +1 -0
- package/dist/prometheus-framework/src/modules/marketplace/views/components/pages/Catalog.vue.cjs +67 -0
- package/dist/prometheus-framework/src/modules/marketplace/views/components/pages/Catalog.vue.cjs.map +1 -0
- package/dist/prometheus-framework/src/modules/marketplace/views/components/pages/Catalog.vue.js +67 -0
- package/dist/prometheus-framework/src/modules/marketplace/views/components/pages/Catalog.vue.js.map +1 -0
- package/dist/prometheus-framework/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +121 -0
- package/dist/prometheus-framework/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs.map +1 -0
- package/dist/prometheus-framework/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +121 -0
- package/dist/prometheus-framework/src/modules/marketplace/views/components/sections/SectionMenu.vue.js.map +1 -0
- package/dist/prometheus-framework/src/modules/marketplace/views/store/marketplace.cjs +57 -0
- package/dist/prometheus-framework/src/modules/marketplace/views/store/marketplace.cjs.map +1 -0
- package/dist/prometheus-framework/src/modules/marketplace/views/store/marketplace.js +57 -0
- package/dist/prometheus-framework/src/modules/marketplace/views/store/marketplace.js.map +1 -0
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +3 -3
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +3 -3
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +3 -3
- package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +3 -3
- package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/pages/pages.client.cjs +933 -932
- package/dist/prometheus-framework/src/modules/pages/pages.client.js +933 -932
- package/dist/prometheus-framework/src/modules/pages/views/components/blocks/CardPage.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/pages/views/components/blocks/CardPage.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.cjs +3 -3
- package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.js +3 -3
- package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +31 -21
- package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +34 -24
- package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +3 -3
- package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +3 -3
- package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/products.client.cjs +2 -20
- package/dist/prometheus-framework/src/modules/products/products.client.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/products.client.js +25 -43
- package/dist/prometheus-framework/src/modules/products/products.client.js.map +1 -1
- package/dist/prometheus-framework/src/modules/products/store/categories.cjs +3 -0
- package/dist/prometheus-framework/src/modules/products/store/categories.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/store/categories.js +3 -0
- package/dist/prometheus-framework/src/modules/products/store/categories.js.map +1 -1
- package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.cjs +3 -3
- package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.js +3 -3
- package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.cjs +3 -3
- package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.js +3 -3
- package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
- package/package.json +5 -1
- package/src/modules/auth/models/role.model.js +1 -1
- package/src/modules/globals/views/core/event.js +48 -0
- package/src/modules/globals/views/core/module-manager.js +91 -0
- package/src/modules/globals/views/core/module.js +106 -0
- package/src/modules/landing/components/sections/SectionGuide.vue +48 -48
- package/src/modules/landing/components/sections/SectionOverview.vue +40 -0
- package/src/modules/landing/landing.client.js +2 -0
- package/src/modules/marketplace/marketplace.client.js +59 -0
- package/src/modules/{products → marketplace/views}/components/layouts/Marketplace.vue +3 -1
- package/src/modules/{products → marketplace/views}/components/pages/Catalog.vue +4 -3
- package/src/modules/{products/components/sections/MenuSection.vue → marketplace/views/components/sections/SectionMenu.vue} +25 -35
- package/src/modules/{products → marketplace/views}/router/marketplace.router.js +1 -2
- package/src/modules/products/components/pages/CategoryEdit.vue +23 -7
- package/src/modules/products/components/pages/Products.vue +1 -1
- package/src/modules/products/components/sections/FilterProducts.vue +1 -1
- package/src/modules/products/models/category.model.js +5 -0
- package/src/modules/products/products.client.js +0 -18
- package/src/modules/products/store/categories.js +6 -0
- package/src/modules/spots/components/layouts/Spots.vue +1 -4
- package/src/modules/spots/components/pages/Map.vue +1 -1
- package/src/modules/landing/components/sections/SectionsSection.vue +0 -66
- package/src/modules/products/components/sections/Filters.vue +0 -152
- /package/src/modules/{products → marketplace/views}/store/marketplace.js +0 -0
package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Products.vue.cjs","sources":["../../../../../../../src/modules/products/components/pages/Products.vue"],"sourcesContent":["<template>\n <div class=\"h-100\">\n <header \n v-if=\"route.name !== 'Organization' && !MOBILE_APP\"\n class=\"mn-b-medium flex-v-center flex-nowrap flex\"\n >\n <h2 class=\"mn-r-medium\">Products</h2>\n <button \n @click=\"$router.push({\n name: route.params?._id ? 'Organization_ProductAdd' : 'ProductAdd'\n })\" \n class=\"radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\">\n +\n </button>\n </header>\n\n <Tab \n v-if=\"route.name !== 'Organization'\"\n v-model:selected=\"tabProducts\"\n :tabs=\"[\n { name: 'All', value: 'all' },\n { name: 'Published', value: 'published' },\n { name: 'Unpublished', value: 'unpublished' }, \n { name: 'Archivied', value: 'archivied' } \n ]\"\n style=\"flex: 0 0 auto\"\n class=\"\n o-hidden \n h5 \n bg-light\n gap-micro pd-small pd-t-thin pd-b-thin\n pos-sticky pos-t-0\n z-index-1\n\n \"\n tabClass=\"bg-white uppercase pd-small radius-small w-100\"\n />\n\n <div class=\"cols-2-1_3 h-100 z-index-3 pos-relative radius-big gap-thin\">\n\n <BlockFilter\n v-model:filter=\"marketplace.state.filter\"\n :options=\"marketplace.state.filter.options\"\n class=\"h-100 w-100 z-index-2 desktop-only\"\n />\n\n\n <div class=\"z-index-3 bg-white radius-tl-big radius-tr-big\">\n <div class=\"pd-thin z-index-3 radius-tl-big radius-tr-big pos-t-0 pos-sticky\">\n <BlockSearch \n @search=\"updateSearch\"\n placeholder=\"Enter product name\"\n class=\"bg-light h-4r\"\n />\n </div>\n <Feed\n v-model:filter=\"marketplace.state.filter\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: products.state\n }\"\n :options=\"{\n limit: 15,\n owner: route.params._id,\n categories: route.query.categories,\n prices: route.query.prices,\n delivery: route.query.delivery,\n // search: route.query.search,\n ...(tabProducts !== 'all' && { status: tabProducts })\n // user: user\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-4 rows-1 pd-t-zero pd-thin gap-thin\"\n \n >\n <router-link \n v-for=\"product in items\" \n :to=\"route.params._id ? { name: 'Organization_Product', params: { _id: route.params._id, product: product._id } } : { name: 'Product', params: { product: product._id } }\"\n class=\"pos-relative h-100 w-100\"\n >\n <CardProduct\n :key=\"product._id\"\n :product=\"product\"\n :user=\"auth.state.access\"\n :organization=\"route.params._id\"\n :access=\"hasAccess(route.params._id, 'products', 'edit', auth.state.accesses)\"\n class=\"pos-relative h-100 w-100 bg-light\"\n />\n </router-link>\n </Feed>\n\n </div>\n </div>\n</div>\n</template>\n\n\n<script setup=\"props\">\n // Import libs\n import { ref, computed, watch, onMounted, onUnmounted } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n\n // Import components\n import Tab from '@pf/src/components/Tab/Tab.vue'\n import Feed from '@pf/src/components/Feed/Feed.vue'\n\n import FilterProducts from '@pf/src/modules/products/components/sections/FilterProducts.vue'\n import BlockSearch from '@pf/src/modules/globals/views/components/blocks/BlockSearch.vue'\n import BlockFilter from '@pf/src/modules/globals/views/components/blocks/BlockFilter.vue'\n\n import CardProduct from '@pf/src/modules/products/components/blocks/CardProduct.vue'\n\n import IconPlus from '@pf/src/modules/icons/navigation/IconPlus.vue'\n\n // Accessing router and store\n import * as auth from '@pf/src/modules/auth/views/store/auth';\n import * as globals from '@pf/src/modules/globals/views/store/globals';\n import * as products from '@pf/src/modules/products/store/products';\n import * as marketplace from '@pf/src/modules/products/store/marketplace';\n import * as categories from '@pf/src/modules/products/store/categories';\n\n const route = useRoute()\n const router = useRouter()\n\n // Tab logic\n const tabProducts = ref(route.query.tabProducts ? route.query.tabProducts : 'all')\n\n if (route.name !== 'Organization') route.query.tabProducts = tabProducts.value\n \n if (route.query) {\n const query = route.query;\n\n marketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];\n marketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];\n marketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];\n }\n\n watch(tabProducts, (newValue) => {\n if (route.name !== 'Organization') router.replace({ query: { ...route.query, tabProducts: newValue } });\n });\n\n globals.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => route.params._id ? router.push({ name: 'Organization_ProductAdd', params: { _id: route.params._id} }) : router.push({ name: 'ProductAdd' })\n }],\n\n onMounted(async () => {\n let categoriesFilter = await categories.actions.read();\n\n categoriesFilter = categoriesFilter.map(category => ({\n value: category.url,\n label: category.name\n }));\n\n const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');\n\n const categoryOption = {\n title: 'Categories',\n value: 'categories',\n options: categoriesFilter\n };\n\n if (index !== -1) {\n marketplace.state.filter.options[index] = categoryOption;\n } else {\n marketplace.state.filter.options.unshift(categoryOption);\n }\n })\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n watch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {\n let query = { ...route.query}\n \n query.sortParam = newSortValue.param\n query.sortOrder = newSortValue.order\n \n // replace the current route\n router.replace({ query });\n }, { deep: true });\n\n\n watch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n // Переводим фильтр в формат query\n const query = { ...route.query };\n\n // Удаляем старые значения фильтра из query\n Object.keys(oldFilterValue).forEach(key => {\n if (query[key]) {\n delete query[key];\n }\n });\n\n // Добавляем новые значения фильтра в query\n const newQueryValues = Object.fromEntries(\n Object.entries(newFilterValue)\n .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n .map(([key, value]) => [key, value.join(',')])\n );\n\n delete query.options;\n Object.assign(query, newQueryValues);\n\n // Обновляем маршрут с новым query\n router.replace({ query });\n }, { deep: true })\n\n\n\n \n function updateSearch(search) {\n let query = { ...route.query}\n \n query.search = search\n \n router.replace({ query });\n }\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["useRoute","useRouter","ref","marketplace.state","watch","globals.state","IconPlus","auth.state","onMounted","categories.actions","onUnmounted"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Products.vue.cjs","sources":["../../../../../../../src/modules/products/components/pages/Products.vue"],"sourcesContent":["<template>\n <div class=\"h-100\">\n <header \n v-if=\"route.name !== 'Organization' && !MOBILE_APP\"\n class=\"mn-b-medium flex-v-center flex-nowrap flex\"\n >\n <h2 class=\"mn-r-medium\">Products</h2>\n <button \n @click=\"$router.push({\n name: route.params?._id ? 'Organization_ProductAdd' : 'ProductAdd'\n })\" \n class=\"radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\">\n +\n </button>\n </header>\n\n <Tab \n v-if=\"route.name !== 'Organization'\"\n v-model:selected=\"tabProducts\"\n :tabs=\"[\n { name: 'All', value: 'all' },\n { name: 'Published', value: 'published' },\n { name: 'Unpublished', value: 'unpublished' }, \n { name: 'Archivied', value: 'archivied' } \n ]\"\n style=\"flex: 0 0 auto\"\n class=\"\n o-hidden \n h5 \n bg-light\n gap-micro pd-small pd-t-thin pd-b-thin\n pos-sticky pos-t-0\n z-index-1\n\n \"\n tabClass=\"bg-white uppercase pd-small radius-small w-100\"\n />\n\n <div class=\"cols-2-1_3 h-100 z-index-3 pos-relative radius-big gap-thin\">\n\n <BlockFilter\n v-model:filter=\"marketplace.state.filter\"\n :options=\"marketplace.state.filter.options\"\n class=\"h-100 w-100 z-index-2 desktop-only\"\n />\n\n\n <div class=\"z-index-3 bg-white radius-tl-big radius-tr-big\">\n <div class=\"pd-thin z-index-3 radius-tl-big radius-tr-big pos-t-0 pos-sticky\">\n <BlockSearch \n @search=\"updateSearch\"\n placeholder=\"Enter product name\"\n class=\"bg-light h-4r\"\n />\n </div>\n <Feed\n v-model:filter=\"marketplace.state.filter\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: products.state\n }\"\n :options=\"{\n limit: 15,\n owner: route.params._id,\n categories: route.query.categories,\n prices: route.query.prices,\n delivery: route.query.delivery,\n // search: route.query.search,\n ...(tabProducts !== 'all' && { status: tabProducts })\n // user: user\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-4 rows-1 pd-t-zero pd-thin gap-thin\"\n \n >\n <router-link \n v-for=\"product in items\" \n :to=\"route.params._id ? { name: 'Organization_Product', params: { _id: route.params._id, product: product._id } } : { name: 'Product', params: { product: product._id } }\"\n class=\"pos-relative h-100 w-100\"\n >\n <CardProduct\n :key=\"product._id\"\n :product=\"product\"\n :user=\"auth.state.access\"\n :organization=\"route.params._id\"\n :access=\"hasAccess(route.params._id, 'products', 'edit', auth.state.accesses)\"\n class=\"pos-relative h-100 w-100 bg-light\"\n />\n </router-link>\n </Feed>\n\n </div>\n </div>\n</div>\n</template>\n\n\n<script setup=\"props\">\n // Import libs\n import { ref, computed, watch, onMounted, onUnmounted } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n\n // Import components\n import Tab from '@pf/src/components/Tab/Tab.vue'\n import Feed from '@pf/src/components/Feed/Feed.vue'\n\n import FilterProducts from '@pf/src/modules/products/components/sections/FilterProducts.vue'\n import BlockSearch from '@pf/src/modules/globals/views/components/blocks/BlockSearch.vue'\n import BlockFilter from '@pf/src/modules/globals/views/components/blocks/BlockFilter.vue'\n\n import CardProduct from '@pf/src/modules/products/components/blocks/CardProduct.vue'\n\n import IconPlus from '@pf/src/modules/icons/navigation/IconPlus.vue'\n\n // Accessing router and store\n import * as auth from '@pf/src/modules/auth/views/store/auth';\n import * as globals from '@pf/src/modules/globals/views/store/globals';\n import * as products from '@pf/src/modules/products/store/products';\n import * as marketplace from '@pf/src/modules/marketplace/views/store/marketplace';\n import * as categories from '@pf/src/modules/products/store/categories';\n\n const route = useRoute()\n const router = useRouter()\n\n // Tab logic\n const tabProducts = ref(route.query.tabProducts ? route.query.tabProducts : 'all')\n\n if (route.name !== 'Organization') route.query.tabProducts = tabProducts.value\n \n if (route.query) {\n const query = route.query;\n\n marketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];\n marketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];\n marketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];\n }\n\n watch(tabProducts, (newValue) => {\n if (route.name !== 'Organization') router.replace({ query: { ...route.query, tabProducts: newValue } });\n });\n\n globals.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => route.params._id ? router.push({ name: 'Organization_ProductAdd', params: { _id: route.params._id} }) : router.push({ name: 'ProductAdd' })\n }],\n\n onMounted(async () => {\n let categoriesFilter = await categories.actions.read();\n\n categoriesFilter = categoriesFilter.map(category => ({\n value: category.url,\n label: category.name\n }));\n\n const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');\n\n const categoryOption = {\n title: 'Categories',\n value: 'categories',\n options: categoriesFilter\n };\n\n if (index !== -1) {\n marketplace.state.filter.options[index] = categoryOption;\n } else {\n marketplace.state.filter.options.unshift(categoryOption);\n }\n })\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n watch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {\n let query = { ...route.query}\n \n query.sortParam = newSortValue.param\n query.sortOrder = newSortValue.order\n \n // replace the current route\n router.replace({ query });\n }, { deep: true });\n\n\n watch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n // Переводим фильтр в формат query\n const query = { ...route.query };\n\n // Удаляем старые значения фильтра из query\n Object.keys(oldFilterValue).forEach(key => {\n if (query[key]) {\n delete query[key];\n }\n });\n\n // Добавляем новые значения фильтра в query\n const newQueryValues = Object.fromEntries(\n Object.entries(newFilterValue)\n .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n .map(([key, value]) => [key, value.join(',')])\n );\n\n delete query.options;\n Object.assign(query, newQueryValues);\n\n // Обновляем маршрут с новым query\n router.replace({ query });\n }, { deep: true })\n\n\n\n \n function updateSearch(search) {\n let query = { ...route.query}\n \n query.search = search\n \n router.replace({ query });\n }\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["useRoute","useRouter","ref","marketplace.state","watch","globals.state","IconPlus","auth.state","onMounted","categories.actions","onUnmounted"],"mappings":"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"}
|
@@ -5,7 +5,7 @@ import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
|
|
5
5
|
/* empty css */
|
6
6
|
import "vue-i18n";
|
7
7
|
import { actions } from "../../store/categories.js";
|
8
|
-
import { state } from "
|
8
|
+
import { state } from "../../../marketplace/views/store/marketplace.js";
|
9
9
|
/* empty css */
|
10
10
|
import _sfc_main$4 from "../../../globals/views/components/blocks/BlockSearch.vue.js";
|
11
11
|
import _sfc_main$3 from "../../../globals/views/components/blocks/BlockFilter.vue.js";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Products.vue.js","sources":["../../../../../../../src/modules/products/components/pages/Products.vue"],"sourcesContent":["<template>\n <div class=\"h-100\">\n <header \n v-if=\"route.name !== 'Organization' && !MOBILE_APP\"\n class=\"mn-b-medium flex-v-center flex-nowrap flex\"\n >\n <h2 class=\"mn-r-medium\">Products</h2>\n <button \n @click=\"$router.push({\n name: route.params?._id ? 'Organization_ProductAdd' : 'ProductAdd'\n })\" \n class=\"radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\">\n +\n </button>\n </header>\n\n <Tab \n v-if=\"route.name !== 'Organization'\"\n v-model:selected=\"tabProducts\"\n :tabs=\"[\n { name: 'All', value: 'all' },\n { name: 'Published', value: 'published' },\n { name: 'Unpublished', value: 'unpublished' }, \n { name: 'Archivied', value: 'archivied' } \n ]\"\n style=\"flex: 0 0 auto\"\n class=\"\n o-hidden \n h5 \n bg-light\n gap-micro pd-small pd-t-thin pd-b-thin\n pos-sticky pos-t-0\n z-index-1\n\n \"\n tabClass=\"bg-white uppercase pd-small radius-small w-100\"\n />\n\n <div class=\"cols-2-1_3 h-100 z-index-3 pos-relative radius-big gap-thin\">\n\n <BlockFilter\n v-model:filter=\"marketplace.state.filter\"\n :options=\"marketplace.state.filter.options\"\n class=\"h-100 w-100 z-index-2 desktop-only\"\n />\n\n\n <div class=\"z-index-3 bg-white radius-tl-big radius-tr-big\">\n <div class=\"pd-thin z-index-3 radius-tl-big radius-tr-big pos-t-0 pos-sticky\">\n <BlockSearch \n @search=\"updateSearch\"\n placeholder=\"Enter product name\"\n class=\"bg-light h-4r\"\n />\n </div>\n <Feed\n v-model:filter=\"marketplace.state.filter\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: products.state\n }\"\n :options=\"{\n limit: 15,\n owner: route.params._id,\n categories: route.query.categories,\n prices: route.query.prices,\n delivery: route.query.delivery,\n // search: route.query.search,\n ...(tabProducts !== 'all' && { status: tabProducts })\n // user: user\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-4 rows-1 pd-t-zero pd-thin gap-thin\"\n \n >\n <router-link \n v-for=\"product in items\" \n :to=\"route.params._id ? { name: 'Organization_Product', params: { _id: route.params._id, product: product._id } } : { name: 'Product', params: { product: product._id } }\"\n class=\"pos-relative h-100 w-100\"\n >\n <CardProduct\n :key=\"product._id\"\n :product=\"product\"\n :user=\"auth.state.access\"\n :organization=\"route.params._id\"\n :access=\"hasAccess(route.params._id, 'products', 'edit', auth.state.accesses)\"\n class=\"pos-relative h-100 w-100 bg-light\"\n />\n </router-link>\n </Feed>\n\n </div>\n </div>\n</div>\n</template>\n\n\n<script setup=\"props\">\n // Import libs\n import { ref, computed, watch, onMounted, onUnmounted } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n\n // Import components\n import Tab from '@pf/src/components/Tab/Tab.vue'\n import Feed from '@pf/src/components/Feed/Feed.vue'\n\n import FilterProducts from '@pf/src/modules/products/components/sections/FilterProducts.vue'\n import BlockSearch from '@pf/src/modules/globals/views/components/blocks/BlockSearch.vue'\n import BlockFilter from '@pf/src/modules/globals/views/components/blocks/BlockFilter.vue'\n\n import CardProduct from '@pf/src/modules/products/components/blocks/CardProduct.vue'\n\n import IconPlus from '@pf/src/modules/icons/navigation/IconPlus.vue'\n\n // Accessing router and store\n import * as auth from '@pf/src/modules/auth/views/store/auth';\n import * as globals from '@pf/src/modules/globals/views/store/globals';\n import * as products from '@pf/src/modules/products/store/products';\n import * as marketplace from '@pf/src/modules/products/store/marketplace';\n import * as categories from '@pf/src/modules/products/store/categories';\n\n const route = useRoute()\n const router = useRouter()\n\n // Tab logic\n const tabProducts = ref(route.query.tabProducts ? route.query.tabProducts : 'all')\n\n if (route.name !== 'Organization') route.query.tabProducts = tabProducts.value\n \n if (route.query) {\n const query = route.query;\n\n marketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];\n marketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];\n marketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];\n }\n\n watch(tabProducts, (newValue) => {\n if (route.name !== 'Organization') router.replace({ query: { ...route.query, tabProducts: newValue } });\n });\n\n globals.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => route.params._id ? router.push({ name: 'Organization_ProductAdd', params: { _id: route.params._id} }) : router.push({ name: 'ProductAdd' })\n }],\n\n onMounted(async () => {\n let categoriesFilter = await categories.actions.read();\n\n categoriesFilter = categoriesFilter.map(category => ({\n value: category.url,\n label: category.name\n }));\n\n const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');\n\n const categoryOption = {\n title: 'Categories',\n value: 'categories',\n options: categoriesFilter\n };\n\n if (index !== -1) {\n marketplace.state.filter.options[index] = categoryOption;\n } else {\n marketplace.state.filter.options.unshift(categoryOption);\n }\n })\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n watch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {\n let query = { ...route.query}\n \n query.sortParam = newSortValue.param\n query.sortOrder = newSortValue.order\n \n // replace the current route\n router.replace({ query });\n }, { deep: true });\n\n\n watch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n // Переводим фильтр в формат query\n const query = { ...route.query };\n\n // Удаляем старые значения фильтра из query\n Object.keys(oldFilterValue).forEach(key => {\n if (query[key]) {\n delete query[key];\n }\n });\n\n // Добавляем новые значения фильтра в query\n const newQueryValues = Object.fromEntries(\n Object.entries(newFilterValue)\n .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n .map(([key, value]) => [key, value.join(',')])\n );\n\n delete query.options;\n Object.assign(query, newQueryValues);\n\n // Обновляем маршрут с новым query\n router.replace({ query });\n }, { deep: true })\n\n\n\n \n function updateSearch(search) {\n let query = { ...route.query}\n \n query.search = search\n \n router.replace({ query });\n }\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["marketplace.state","globals.state","IconPlus","auth.state","categories.actions"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Products.vue.js","sources":["../../../../../../../src/modules/products/components/pages/Products.vue"],"sourcesContent":["<template>\n <div class=\"h-100\">\n <header \n v-if=\"route.name !== 'Organization' && !MOBILE_APP\"\n class=\"mn-b-medium flex-v-center flex-nowrap flex\"\n >\n <h2 class=\"mn-r-medium\">Products</h2>\n <button \n @click=\"$router.push({\n name: route.params?._id ? 'Organization_ProductAdd' : 'ProductAdd'\n })\" \n class=\"radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\">\n +\n </button>\n </header>\n\n <Tab \n v-if=\"route.name !== 'Organization'\"\n v-model:selected=\"tabProducts\"\n :tabs=\"[\n { name: 'All', value: 'all' },\n { name: 'Published', value: 'published' },\n { name: 'Unpublished', value: 'unpublished' }, \n { name: 'Archivied', value: 'archivied' } \n ]\"\n style=\"flex: 0 0 auto\"\n class=\"\n o-hidden \n h5 \n bg-light\n gap-micro pd-small pd-t-thin pd-b-thin\n pos-sticky pos-t-0\n z-index-1\n\n \"\n tabClass=\"bg-white uppercase pd-small radius-small w-100\"\n />\n\n <div class=\"cols-2-1_3 h-100 z-index-3 pos-relative radius-big gap-thin\">\n\n <BlockFilter\n v-model:filter=\"marketplace.state.filter\"\n :options=\"marketplace.state.filter.options\"\n class=\"h-100 w-100 z-index-2 desktop-only\"\n />\n\n\n <div class=\"z-index-3 bg-white radius-tl-big radius-tr-big\">\n <div class=\"pd-thin z-index-3 radius-tl-big radius-tr-big pos-t-0 pos-sticky\">\n <BlockSearch \n @search=\"updateSearch\"\n placeholder=\"Enter product name\"\n class=\"bg-light h-4r\"\n />\n </div>\n <Feed\n v-model:filter=\"marketplace.state.filter\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: products.state\n }\"\n :options=\"{\n limit: 15,\n owner: route.params._id,\n categories: route.query.categories,\n prices: route.query.prices,\n delivery: route.query.delivery,\n // search: route.query.search,\n ...(tabProducts !== 'all' && { status: tabProducts })\n // user: user\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-4 rows-1 pd-t-zero pd-thin gap-thin\"\n \n >\n <router-link \n v-for=\"product in items\" \n :to=\"route.params._id ? { name: 'Organization_Product', params: { _id: route.params._id, product: product._id } } : { name: 'Product', params: { product: product._id } }\"\n class=\"pos-relative h-100 w-100\"\n >\n <CardProduct\n :key=\"product._id\"\n :product=\"product\"\n :user=\"auth.state.access\"\n :organization=\"route.params._id\"\n :access=\"hasAccess(route.params._id, 'products', 'edit', auth.state.accesses)\"\n class=\"pos-relative h-100 w-100 bg-light\"\n />\n </router-link>\n </Feed>\n\n </div>\n </div>\n</div>\n</template>\n\n\n<script setup=\"props\">\n // Import libs\n import { ref, computed, watch, onMounted, onUnmounted } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n\n // Import components\n import Tab from '@pf/src/components/Tab/Tab.vue'\n import Feed from '@pf/src/components/Feed/Feed.vue'\n\n import FilterProducts from '@pf/src/modules/products/components/sections/FilterProducts.vue'\n import BlockSearch from '@pf/src/modules/globals/views/components/blocks/BlockSearch.vue'\n import BlockFilter from '@pf/src/modules/globals/views/components/blocks/BlockFilter.vue'\n\n import CardProduct from '@pf/src/modules/products/components/blocks/CardProduct.vue'\n\n import IconPlus from '@pf/src/modules/icons/navigation/IconPlus.vue'\n\n // Accessing router and store\n import * as auth from '@pf/src/modules/auth/views/store/auth';\n import * as globals from '@pf/src/modules/globals/views/store/globals';\n import * as products from '@pf/src/modules/products/store/products';\n import * as marketplace from '@pf/src/modules/marketplace/views/store/marketplace';\n import * as categories from '@pf/src/modules/products/store/categories';\n\n const route = useRoute()\n const router = useRouter()\n\n // Tab logic\n const tabProducts = ref(route.query.tabProducts ? route.query.tabProducts : 'all')\n\n if (route.name !== 'Organization') route.query.tabProducts = tabProducts.value\n \n if (route.query) {\n const query = route.query;\n\n marketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];\n marketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];\n marketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];\n }\n\n watch(tabProducts, (newValue) => {\n if (route.name !== 'Organization') router.replace({ query: { ...route.query, tabProducts: newValue } });\n });\n\n globals.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => route.params._id ? router.push({ name: 'Organization_ProductAdd', params: { _id: route.params._id} }) : router.push({ name: 'ProductAdd' })\n }],\n\n onMounted(async () => {\n let categoriesFilter = await categories.actions.read();\n\n categoriesFilter = categoriesFilter.map(category => ({\n value: category.url,\n label: category.name\n }));\n\n const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');\n\n const categoryOption = {\n title: 'Categories',\n value: 'categories',\n options: categoriesFilter\n };\n\n if (index !== -1) {\n marketplace.state.filter.options[index] = categoryOption;\n } else {\n marketplace.state.filter.options.unshift(categoryOption);\n }\n })\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n watch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {\n let query = { ...route.query}\n \n query.sortParam = newSortValue.param\n query.sortOrder = newSortValue.order\n \n // replace the current route\n router.replace({ query });\n }, { deep: true });\n\n\n watch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n // Переводим фильтр в формат query\n const query = { ...route.query };\n\n // Удаляем старые значения фильтра из query\n Object.keys(oldFilterValue).forEach(key => {\n if (query[key]) {\n delete query[key];\n }\n });\n\n // Добавляем новые значения фильтра в query\n const newQueryValues = Object.fromEntries(\n Object.entries(newFilterValue)\n .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n .map(([key, value]) => [key, value.join(',')])\n );\n\n delete query.options;\n Object.assign(query, newQueryValues);\n\n // Обновляем маршрут с новым query\n router.replace({ query });\n }, { deep: true })\n\n\n\n \n function updateSearch(search) {\n let query = { ...route.query}\n \n query.search = search\n \n router.replace({ query });\n }\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["marketplace.state","globals.state","IconPlus","auth.state","categories.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAiIE,UAAM,QAAQ,SAAU;AACxB,UAAM,SAAS,UAAW;AAG1B,UAAM,cAAc,IAAI,MAAM,MAAM,cAAc,MAAM,MAAM,cAAc,KAAK;AAEjF,QAAI,MAAM,SAAS,eAAgB,OAAM,MAAM,cAAc,YAAY;AAEzE,QAAI,MAAM,OAAO;AACf,YAAM,QAAQ,MAAM;AAEpBA,YAAkB,OAAO,SAAS,aAAa,MAAM,aAAa,MAAM,WAAW,MAAM,GAAG,IAAI,CAAA;AAChGA,YAAkB,OAAO,SAAS,SAAS,MAAM,SAAS,MAAM,OAAO,MAAM,GAAG,IAAI,CAAA;AACpFA,YAAkB,OAAO,SAAS,WAAW,MAAM,WAAW,MAAM,SAAS,MAAM,GAAG,IAAI,CAAA;AAAA,IAC3F;AAED,UAAM,aAAa,CAAC,aAAa;AAC/B,UAAI,MAAM,SAAS,eAAgB,QAAO,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,aAAa,SAAQ,EAAI,CAAA;AAAA,IAC1G,CAAG;AAEDC,YAAc,eAAe,UAAU,CAAC;AAAA,MACtC,WAAWC;AAAAA,MACX,OAAO;AAAA,QACL,MAAM;AAAA,MACP;AAAA,MACD,WAAW,MAAMC,QAAW,QAAQA,QAAW,KAAK;AAAA,MACpD,QAAQ,MAAM,MAAM,OAAO,MAAM,OAAO,KAAK,EAAE,MAAM,2BAA2B,QAAQ,EAAE,KAAK,MAAM,OAAO,IAAG,EAAG,CAAA,IAAI,OAAO,KAAK,EAAE,MAAM,cAAc;AAAA,IAC5J,CAAG,GAED,UAAU,YAAY;AACpB,UAAI,mBAAmB,MAAMC,QAAmB;AAEhD,yBAAmB,iBAAiB,IAAI,eAAa;AAAA,QACnD,OAAO,SAAS;AAAA,QAChB,OAAO,SAAS;AAAA,MACjB,EAAC;AAEF,YAAM,QAAQJ,MAAkB,OAAO,QAAQ,UAAU,YAAU,OAAO,UAAU,YAAY;AAEhG,YAAM,iBAAiB;AAAA,QACrB,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,MACf;AAEI,UAAI,UAAU,IAAI;AACdA,cAAkB,OAAO,QAAQ,KAAK,IAAI;AAAA,MAClD,OAAW;AACHA,cAAkB,OAAO,QAAQ,QAAQ,cAAc;AAAA,MAC1D;AAAA,IACL,CAAG;AAED,gBAAY,MAAM;AAChBC,cAAc,eAAe,UAAU;IAC3C,CAAG;AAED,UAAM,MAAMD,MAAkB,MAAM,CAAC,cAAc,iBAAiB;AAClE,UAAI,QAAQ,EAAE,GAAG,MAAM,MAAK;AAE5B,YAAM,YAAY,aAAa;AAC/B,YAAM,YAAY,aAAa;AAG/B,aAAO,QAAQ,EAAE,MAAK,CAAE;AAAA,IAC5B,GAAK,EAAE,MAAM,KAAI,CAAE;AAGjB,UAAM,MAAMA,MAAkB,OAAO,UAAU,CAAC,gBAAgB,mBAAmB;AAEjF,YAAM,QAAQ,EAAE,GAAG,MAAM,MAAK;AAG9B,aAAO,KAAK,cAAc,EAAE,QAAQ,SAAO;AACzC,YAAI,MAAM,GAAG,GAAG;AACd,iBAAO,MAAM,GAAG;AAAA,QACjB;AAAA,MACP,CAAK;AAGD,YAAM,iBAAiB,OAAO;AAAA,QAC5B,OAAO,QAAQ,cAAc,EAC1B,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,CAAC,EACjE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,MAAM,KAAK,GAAG,CAAC,CAAC;AAAA,MACrD;AAEI,aAAO,MAAM;AACb,aAAO,OAAO,OAAO,cAAc;AAGnC,aAAO,QAAQ,EAAE,MAAK,CAAE;AAAA,IAC5B,GAAK,EAAE,MAAM,MAAM;AAKjB,aAAS,aAAa,QAAQ;AAC5B,UAAI,QAAQ,EAAE,GAAG,MAAM,MAAK;AAE5B,YAAM,SAAS;AAEf,aAAO,QAAQ,EAAE,MAAK,CAAE;AAAA,IACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.cjs
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
3
3
|
const vue = require("vue");
|
4
|
-
const Field = require("../../../../components/Field/Field.
|
4
|
+
const Field = require("../../../../components/Field/Field.vue.cjs");
|
5
5
|
const _hoisted_1 = {
|
6
6
|
key: 0,
|
7
7
|
class: "mn-b-small w-100"
|
package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { toRefs, openBlock, createElementBlock, unref, createCommentVNode, Fragment, renderList, createElementVNode, createVNode } from "vue";
|
2
|
-
import Field from "../../../../components/Field/Field.
|
2
|
+
import Field from "../../../../components/Field/Field.vue.js";
|
3
3
|
const _hoisted_1 = {
|
4
4
|
key: 0,
|
5
5
|
class: "mn-b-small w-100"
|
package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
3
3
|
const vue = require("vue");
|
4
4
|
;/* empty css */
|
5
|
-
;/* empty css
|
6
|
-
const Field = require("../../../../components/Field/Field.
|
5
|
+
;/* empty css */
|
6
|
+
const Field = require("../../../../components/Field/Field.vue.cjs");
|
7
7
|
const Select = require("../../../../components/Select/Select.vue.cjs");
|
8
8
|
const _sfc_main = {
|
9
9
|
__name: "EditProductInfo",
|
package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { openBlock, createElementBlock, Fragment, createVNode, withCtx } from "vue";
|
2
2
|
/* empty css */
|
3
|
-
/* empty css
|
4
|
-
import Field from "../../../../components/Field/Field.
|
3
|
+
/* empty css */
|
4
|
+
import Field from "../../../../components/Field/Field.vue.js";
|
5
5
|
import Select from "../../../../components/Select/Select.vue.js";
|
6
6
|
const _sfc_main = {
|
7
7
|
__name: "EditProductInfo",
|
package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.cjs
CHANGED
@@ -6,7 +6,7 @@ const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
|
|
6
6
|
const vueI18n = require("vue-i18n");
|
7
7
|
const vueRouter = require("vue-router");
|
8
8
|
const categories = require("../../store/categories.cjs");
|
9
|
-
const marketplace = require("
|
9
|
+
const marketplace = require("../../../marketplace/views/store/marketplace.cjs");
|
10
10
|
;/* empty css */
|
11
11
|
const _hoisted_1 = { class: "pd-medium bg-light radius-big" };
|
12
12
|
const _hoisted_2 = { class: "cursor-pointer mn-r-auto t-medium p-big" };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FilterProducts.vue.cjs","sources":["../../../../../../../src/modules/products/components/sections/FilterProducts.vue"],"sourcesContent":[" <template>\n <div class=\"pd-medium bg-light radius-big\">\n <!-- Categories Filter -->\n <Spoiler \n class=\"radius-small o-hidden mn-b-small\"\n :status=\"true\"\n >\n <template #header>\n <p class=\"cursor-pointer mn-r-auto t-medium p-big\">{{ t('categoriesTitle') }}</p>\n <!-- SVG Icon -->\n </template>\n <template #content>\n <Checkbox \n v-for=\"(category, index) in categories.state.all\"\n :key=\"index\"\n :label=\"category.name\"\n :value=\"category.url\"\n class=\"w-100 mn-t-small mn-b-small bg-white radius-small pd-small\"\n :radio=\"marketplace.state.filter.categories\"\n @update:radio=\"event => marketplace.state.filter.categories = event\"\n />\n </template>\n </Spoiler>\n\n <hr class=\"mn-b-small t-transp\">\n\n <!-- Prices Filter -->\n <Spoiler \n class=\"radius-small o-hidden mn-b-small\"\n :status=\"false\"\n >\n <template #header>\n <p class=\"cursor-pointer mn-r-auto t-medium p-big\">{{ t('filters.price.title') }}</p>\n <!-- SVG Icon -->\n </template>\n <template #content>\n <Checkbox \n v-for=\"(price, index) in prices\"\n :key=\"index\"\n :label=\"price.label\"\n :value=\"price.value\"\n class=\"w-100 mn-t-small bg-white radius-small pd-small\"\n :radio=\"marketplace.state.filter.prices\"\n @update:radio=\"event => marketplace.state.filter.prices = event\"\n />\n </template>\n </Spoiler>\n\n <hr class=\"mn-b-small\">\n\n <!-- Delivery Filter -->\n <Spoiler \n class=\"radius-small o-hidden mn-b-small\"\n :status=\"false\"\n >\n <template #header>\n <p class=\"cursor-pointer mn-r-auto t-medium p-big\">Delivery</p>\n </template>\n <template #content>\n <Checkbox \n v-for=\"(deliveryOption, index) in deliveryOptions\"\n :key=\"index\"\n :label=\"deliveryOption.label\"\n :value=\"deliveryOption.value\"\n class=\"w-100 mn-t-small bg-white radius-small pd-small\"\n :radio=\"marketplace.state.filter.delivery\"\n @update:radio=\"event => marketplace.state.filter.delivery = event\"\n />\n </template>\n </Spoiler>\n\n <hr class=\"mn-b-semi\">\n\n <!-- Reset filter -->\n <button @click=\"resetFilters\" class=\"bg-main w-100 button\">{{ t('filters.reset') }}</button>\n </div>\n </template>\n\n<script setup>\nimport { ref, watch, onMounted } from 'vue'\n\nimport Spoiler from \"@pf/src/components/Spoiler/Spoiler.vue\"\nimport Checkbox from \"@pf/src/components/Checkbox/Checkbox.vue\"\n\nimport { useI18n } from 'vue-i18n'\nimport { useRoute, useRouter,onBeforeRouteLeave } from 'vue-router'\n\nconst route = useRoute()\nconst router = useRouter()\n\nimport * as categories from '@pf/src/modules/products/store/categories';\nimport * as marketplace from '@pf/src/modules/
|
1
|
+
{"version":3,"file":"FilterProducts.vue.cjs","sources":["../../../../../../../src/modules/products/components/sections/FilterProducts.vue"],"sourcesContent":[" <template>\n <div class=\"pd-medium bg-light radius-big\">\n <!-- Categories Filter -->\n <Spoiler \n class=\"radius-small o-hidden mn-b-small\"\n :status=\"true\"\n >\n <template #header>\n <p class=\"cursor-pointer mn-r-auto t-medium p-big\">{{ t('categoriesTitle') }}</p>\n <!-- SVG Icon -->\n </template>\n <template #content>\n <Checkbox \n v-for=\"(category, index) in categories.state.all\"\n :key=\"index\"\n :label=\"category.name\"\n :value=\"category.url\"\n class=\"w-100 mn-t-small mn-b-small bg-white radius-small pd-small\"\n :radio=\"marketplace.state.filter.categories\"\n @update:radio=\"event => marketplace.state.filter.categories = event\"\n />\n </template>\n </Spoiler>\n\n <hr class=\"mn-b-small t-transp\">\n\n <!-- Prices Filter -->\n <Spoiler \n class=\"radius-small o-hidden mn-b-small\"\n :status=\"false\"\n >\n <template #header>\n <p class=\"cursor-pointer mn-r-auto t-medium p-big\">{{ t('filters.price.title') }}</p>\n <!-- SVG Icon -->\n </template>\n <template #content>\n <Checkbox \n v-for=\"(price, index) in prices\"\n :key=\"index\"\n :label=\"price.label\"\n :value=\"price.value\"\n class=\"w-100 mn-t-small bg-white radius-small pd-small\"\n :radio=\"marketplace.state.filter.prices\"\n @update:radio=\"event => marketplace.state.filter.prices = event\"\n />\n </template>\n </Spoiler>\n\n <hr class=\"mn-b-small\">\n\n <!-- Delivery Filter -->\n <Spoiler \n class=\"radius-small o-hidden mn-b-small\"\n :status=\"false\"\n >\n <template #header>\n <p class=\"cursor-pointer mn-r-auto t-medium p-big\">Delivery</p>\n </template>\n <template #content>\n <Checkbox \n v-for=\"(deliveryOption, index) in deliveryOptions\"\n :key=\"index\"\n :label=\"deliveryOption.label\"\n :value=\"deliveryOption.value\"\n class=\"w-100 mn-t-small bg-white radius-small pd-small\"\n :radio=\"marketplace.state.filter.delivery\"\n @update:radio=\"event => marketplace.state.filter.delivery = event\"\n />\n </template>\n </Spoiler>\n\n <hr class=\"mn-b-semi\">\n\n <!-- Reset filter -->\n <button @click=\"resetFilters\" class=\"bg-main w-100 button\">{{ t('filters.reset') }}</button>\n </div>\n </template>\n\n<script setup>\nimport { ref, watch, onMounted } from 'vue'\n\nimport Spoiler from \"@pf/src/components/Spoiler/Spoiler.vue\"\nimport Checkbox from \"@pf/src/components/Checkbox/Checkbox.vue\"\n\nimport { useI18n } from 'vue-i18n'\nimport { useRoute, useRouter,onBeforeRouteLeave } from 'vue-router'\n\nconst route = useRoute()\nconst router = useRouter()\n\nimport * as categories from '@pf/src/modules/products/store/categories';\nimport * as marketplace from '@pf/src/modules/marketplace/views/store/marketplace';\n\nlet options = {\n status: 'published'\n}\n\nlet selectedFilters = ref({\n categories: [],\n prices: [],\n delivery: [],\n extra: []\n})\n\n// Пропсы и данные, которые вы передаёте в компонент\nconst props = defineProps({\n selectedFilters: Object,\n prices: {\n type: Array,\n default: () => [\n { label: 'Under 300฿', value: '<300' },\n { label: '300฿ to 600฿', value: '300-600' },\n { label: '600฿ to 1200฿', value: '600-1200' },\n { label: '$1200 and above', value: '>1200' }\n ]\n },\n deliveryOptions: {\n type: Array,\n default: () => [\n { label: 'Pickup', value: { min: 0, max: 25 } },\n { label: 'Courier', value: { min: 25, max: 50 } },\n { label: 'Post', value: { min: 50, max: 100 } }\n ]\n }\n})\n\nwatch(() => marketplace.state.filter, (newFilterValue, oldFilterValue) => {\n // Переводим фильтр в формат query\n const query = { ...route.query };\n\n // Удаляем старые значения фильтра из query\n Object.keys(oldFilterValue).forEach(key => {\n if (query[key]) {\n delete query[key];\n }\n });\n\n // Добавляем новые значения фильтра в query\n const newQueryValues = Object.fromEntries(\n Object.entries(newFilterValue)\n .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n .map(([key, value]) => [key, value.join(',')])\n );\n Object.assign(query, newQueryValues);\n\n // Обновляем маршрут с новым query\n router.repalce({ query });\n}, { deep: true })\n\nonMounted(async () => {\n await categories.actions.read(options)\n \n if (route.query) {\n const query = route.query;\n const newFilterValue = {\n categories: query.categories ? query.categories.split(',') : [],\n prices: query.prices ? query.prices.split(',') : [],\n delivery: query.delivery ? query.delivery.split(',') : [],\n // Продолжайте этот паттерн для остальных полей фильтра\n };\n marketplace.state.filter.innerHTML = newFilterValue;\n }\n})\n\nconst emit = defineEmits(['updateFilters', 'resetFilters'])\n\nconst emitFilterChange = (filterType, value) => {\n emit('updateFilters', { filterType, value })\n}\n\nconst resetFilters = () => {\n emit('resetFilters')\n}\nconst text = {\n locale: 'en',\n messages: {\n en: {\n categoriesTitle: 'Category',\n categories: [],\n filters: {\n title: 'Filters',\n price: {\n title: 'Price',\n from: 'From',\n to: 'To'\n },\n filters: [],\n reset: 'Reset Filters'\n }\n },\n ru: {\n categoriesTitle: 'Категория',\n categories: [],\n filters: {\n title: 'Фильтры',\n price: {\n title: 'Цена',\n from: 'От',\n to: 'До'\n },\n filters: [],\n reset: 'Сбросить фильтры',\n }\n }\n }\n }\n\n categories.state.all.forEach( category => {\n category.localization.forEach( localization => {\n text.messages[localization.locale].categories.push(localization.text)\n })\n })\n\n const { t } = useI18n(text)\n \n\n\n// Добавьте свою локализацию и методы t, если они нужны\n</script>\n\n<style>\n/* Ваши стили */\n</style>\n"],"names":["useRoute","useRouter","ref","watch","marketplace.state","onMounted","categories.actions","categories.state","useI18n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFA,UAAM,QAAQA,UAAAA,SAAU;AACxB,UAAM,SAASC,UAAAA,UAAW;AAK1B,QAAI,UAAU;AAAA,MACZ,QAAQ;AAAA,IACV;AAEsBC,QAAAA,IAAI;AAAA,MACxB,YAAY,CAAE;AAAA,MACd,QAAQ,CAAE;AAAA,MACV,UAAU,CAAE;AAAA,MACZ,OAAO,CAAE;AAAA,IACX,CAAC;AAwBDC,QAAK,MAAC,MAAMC,YAAAA,MAAkB,QAAQ,CAAC,gBAAgB,mBAAmB;AAExE,YAAM,QAAQ,EAAE,GAAG,MAAM,MAAK;AAG9B,aAAO,KAAK,cAAc,EAAE,QAAQ,SAAO;AACzC,YAAI,MAAM,GAAG,GAAG;AACd,iBAAO,MAAM,GAAG;AAAA,QACjB;AAAA,MACL,CAAG;AAGD,YAAM,iBAAiB,OAAO;AAAA,QAC5B,OAAO,QAAQ,cAAc,EAC1B,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,CAAC,EACjE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,MAAM,KAAK,GAAG,CAAC,CAAC;AAAA,MACnD;AACE,aAAO,OAAO,OAAO,cAAc;AAGnC,aAAO,QAAQ,EAAE,MAAK,CAAE;AAAA,IAC1B,GAAG,EAAE,MAAM,MAAM;AAEjBC,QAAAA,UAAU,YAAY;AACpB,YAAMC,WAAkB,QAAC,KAAK,OAAO;AAErC,UAAI,MAAM,OAAO;AACf,cAAM,QAAQ,MAAM;AACpB,cAAM,iBAAiB;AAAA,UACrB,YAAY,MAAM,aAAa,MAAM,WAAW,MAAM,GAAG,IAAI,CAAE;AAAA,UAC/D,QAAQ,MAAM,SAAS,MAAM,OAAO,MAAM,GAAG,IAAI,CAAE;AAAA,UACnD,UAAU,MAAM,WAAW,MAAM,SAAS,MAAM,GAAG,IAAI,CAAE;AAAA;AAAA,QAE/D;AACIF,0BAAkB,OAAO,YAAY;AAAA,MACtC;AAAA,IACH,CAAC;AAED,UAAM,OAAO;AAMb,UAAM,eAAe,MAAM;AACzB,WAAK,cAAc;AAAA,IACrB;AACA,UAAM,OAAO;AAAA,MACT,QAAQ;AAAA,MACR,UAAU;AAAA,QACR,IAAI;AAAA,UACF,iBAAiB;AAAA,UACjB,YAAY,CAAE;AAAA,UACd,SAAS;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,cACL,OAAO;AAAA,cACP,MAAM;AAAA,cACN,IAAI;AAAA,YACL;AAAA,YACD,SAAS,CAAE;AAAA,YACX,OAAO;AAAA,UACR;AAAA,QACF;AAAA,QACD,IAAI;AAAA,UACF,iBAAiB;AAAA,UACjB,YAAY,CAAE;AAAA,UACd,SAAS;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,cACL,OAAO;AAAA,cACP,MAAM;AAAA,cACN,IAAI;AAAA,YACL;AAAA,YACD,SAAS,CAAE;AAAA,YACX,OAAO;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEDG,qBAAiB,IAAI,QAAS,cAAY;AACxC,eAAS,aAAa,QAAS,kBAAgB;AAC7C,aAAK,SAAS,aAAa,MAAM,EAAE,WAAW,KAAK,aAAa,IAAI;AAAA,MAC1E,CAAK;AAAA,IACL,CAAG;AAED,UAAM,EAAE,EAAC,IAAKC,QAAO,QAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.js
CHANGED
@@ -4,7 +4,7 @@ import _sfc_main$2 from "../../../../components/Checkbox/Checkbox.vue.js";
|
|
4
4
|
import { useI18n } from "vue-i18n";
|
5
5
|
import { useRoute, useRouter } from "vue-router";
|
6
6
|
import { actions, state as state$1 } from "../../store/categories.js";
|
7
|
-
import { state } from "
|
7
|
+
import { state } from "../../../marketplace/views/store/marketplace.js";
|
8
8
|
/* empty css */
|
9
9
|
const _hoisted_1 = { class: "pd-medium bg-light radius-big" };
|
10
10
|
const _hoisted_2 = { class: "cursor-pointer mn-r-auto t-medium p-big" };
|
package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FilterProducts.vue.js","sources":["../../../../../../../src/modules/products/components/sections/FilterProducts.vue"],"sourcesContent":[" <template>\n <div class=\"pd-medium bg-light radius-big\">\n <!-- Categories Filter -->\n <Spoiler \n class=\"radius-small o-hidden mn-b-small\"\n :status=\"true\"\n >\n <template #header>\n <p class=\"cursor-pointer mn-r-auto t-medium p-big\">{{ t('categoriesTitle') }}</p>\n <!-- SVG Icon -->\n </template>\n <template #content>\n <Checkbox \n v-for=\"(category, index) in categories.state.all\"\n :key=\"index\"\n :label=\"category.name\"\n :value=\"category.url\"\n class=\"w-100 mn-t-small mn-b-small bg-white radius-small pd-small\"\n :radio=\"marketplace.state.filter.categories\"\n @update:radio=\"event => marketplace.state.filter.categories = event\"\n />\n </template>\n </Spoiler>\n\n <hr class=\"mn-b-small t-transp\">\n\n <!-- Prices Filter -->\n <Spoiler \n class=\"radius-small o-hidden mn-b-small\"\n :status=\"false\"\n >\n <template #header>\n <p class=\"cursor-pointer mn-r-auto t-medium p-big\">{{ t('filters.price.title') }}</p>\n <!-- SVG Icon -->\n </template>\n <template #content>\n <Checkbox \n v-for=\"(price, index) in prices\"\n :key=\"index\"\n :label=\"price.label\"\n :value=\"price.value\"\n class=\"w-100 mn-t-small bg-white radius-small pd-small\"\n :radio=\"marketplace.state.filter.prices\"\n @update:radio=\"event => marketplace.state.filter.prices = event\"\n />\n </template>\n </Spoiler>\n\n <hr class=\"mn-b-small\">\n\n <!-- Delivery Filter -->\n <Spoiler \n class=\"radius-small o-hidden mn-b-small\"\n :status=\"false\"\n >\n <template #header>\n <p class=\"cursor-pointer mn-r-auto t-medium p-big\">Delivery</p>\n </template>\n <template #content>\n <Checkbox \n v-for=\"(deliveryOption, index) in deliveryOptions\"\n :key=\"index\"\n :label=\"deliveryOption.label\"\n :value=\"deliveryOption.value\"\n class=\"w-100 mn-t-small bg-white radius-small pd-small\"\n :radio=\"marketplace.state.filter.delivery\"\n @update:radio=\"event => marketplace.state.filter.delivery = event\"\n />\n </template>\n </Spoiler>\n\n <hr class=\"mn-b-semi\">\n\n <!-- Reset filter -->\n <button @click=\"resetFilters\" class=\"bg-main w-100 button\">{{ t('filters.reset') }}</button>\n </div>\n </template>\n\n<script setup>\nimport { ref, watch, onMounted } from 'vue'\n\nimport Spoiler from \"@pf/src/components/Spoiler/Spoiler.vue\"\nimport Checkbox from \"@pf/src/components/Checkbox/Checkbox.vue\"\n\nimport { useI18n } from 'vue-i18n'\nimport { useRoute, useRouter,onBeforeRouteLeave } from 'vue-router'\n\nconst route = useRoute()\nconst router = useRouter()\n\nimport * as categories from '@pf/src/modules/products/store/categories';\nimport * as marketplace from '@pf/src/modules/
|
1
|
+
{"version":3,"file":"FilterProducts.vue.js","sources":["../../../../../../../src/modules/products/components/sections/FilterProducts.vue"],"sourcesContent":[" <template>\n <div class=\"pd-medium bg-light radius-big\">\n <!-- Categories Filter -->\n <Spoiler \n class=\"radius-small o-hidden mn-b-small\"\n :status=\"true\"\n >\n <template #header>\n <p class=\"cursor-pointer mn-r-auto t-medium p-big\">{{ t('categoriesTitle') }}</p>\n <!-- SVG Icon -->\n </template>\n <template #content>\n <Checkbox \n v-for=\"(category, index) in categories.state.all\"\n :key=\"index\"\n :label=\"category.name\"\n :value=\"category.url\"\n class=\"w-100 mn-t-small mn-b-small bg-white radius-small pd-small\"\n :radio=\"marketplace.state.filter.categories\"\n @update:radio=\"event => marketplace.state.filter.categories = event\"\n />\n </template>\n </Spoiler>\n\n <hr class=\"mn-b-small t-transp\">\n\n <!-- Prices Filter -->\n <Spoiler \n class=\"radius-small o-hidden mn-b-small\"\n :status=\"false\"\n >\n <template #header>\n <p class=\"cursor-pointer mn-r-auto t-medium p-big\">{{ t('filters.price.title') }}</p>\n <!-- SVG Icon -->\n </template>\n <template #content>\n <Checkbox \n v-for=\"(price, index) in prices\"\n :key=\"index\"\n :label=\"price.label\"\n :value=\"price.value\"\n class=\"w-100 mn-t-small bg-white radius-small pd-small\"\n :radio=\"marketplace.state.filter.prices\"\n @update:radio=\"event => marketplace.state.filter.prices = event\"\n />\n </template>\n </Spoiler>\n\n <hr class=\"mn-b-small\">\n\n <!-- Delivery Filter -->\n <Spoiler \n class=\"radius-small o-hidden mn-b-small\"\n :status=\"false\"\n >\n <template #header>\n <p class=\"cursor-pointer mn-r-auto t-medium p-big\">Delivery</p>\n </template>\n <template #content>\n <Checkbox \n v-for=\"(deliveryOption, index) in deliveryOptions\"\n :key=\"index\"\n :label=\"deliveryOption.label\"\n :value=\"deliveryOption.value\"\n class=\"w-100 mn-t-small bg-white radius-small pd-small\"\n :radio=\"marketplace.state.filter.delivery\"\n @update:radio=\"event => marketplace.state.filter.delivery = event\"\n />\n </template>\n </Spoiler>\n\n <hr class=\"mn-b-semi\">\n\n <!-- Reset filter -->\n <button @click=\"resetFilters\" class=\"bg-main w-100 button\">{{ t('filters.reset') }}</button>\n </div>\n </template>\n\n<script setup>\nimport { ref, watch, onMounted } from 'vue'\n\nimport Spoiler from \"@pf/src/components/Spoiler/Spoiler.vue\"\nimport Checkbox from \"@pf/src/components/Checkbox/Checkbox.vue\"\n\nimport { useI18n } from 'vue-i18n'\nimport { useRoute, useRouter,onBeforeRouteLeave } from 'vue-router'\n\nconst route = useRoute()\nconst router = useRouter()\n\nimport * as categories from '@pf/src/modules/products/store/categories';\nimport * as marketplace from '@pf/src/modules/marketplace/views/store/marketplace';\n\nlet options = {\n status: 'published'\n}\n\nlet selectedFilters = ref({\n categories: [],\n prices: [],\n delivery: [],\n extra: []\n})\n\n// Пропсы и данные, которые вы передаёте в компонент\nconst props = defineProps({\n selectedFilters: Object,\n prices: {\n type: Array,\n default: () => [\n { label: 'Under 300฿', value: '<300' },\n { label: '300฿ to 600฿', value: '300-600' },\n { label: '600฿ to 1200฿', value: '600-1200' },\n { label: '$1200 and above', value: '>1200' }\n ]\n },\n deliveryOptions: {\n type: Array,\n default: () => [\n { label: 'Pickup', value: { min: 0, max: 25 } },\n { label: 'Courier', value: { min: 25, max: 50 } },\n { label: 'Post', value: { min: 50, max: 100 } }\n ]\n }\n})\n\nwatch(() => marketplace.state.filter, (newFilterValue, oldFilterValue) => {\n // Переводим фильтр в формат query\n const query = { ...route.query };\n\n // Удаляем старые значения фильтра из query\n Object.keys(oldFilterValue).forEach(key => {\n if (query[key]) {\n delete query[key];\n }\n });\n\n // Добавляем новые значения фильтра в query\n const newQueryValues = Object.fromEntries(\n Object.entries(newFilterValue)\n .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n .map(([key, value]) => [key, value.join(',')])\n );\n Object.assign(query, newQueryValues);\n\n // Обновляем маршрут с новым query\n router.repalce({ query });\n}, { deep: true })\n\nonMounted(async () => {\n await categories.actions.read(options)\n \n if (route.query) {\n const query = route.query;\n const newFilterValue = {\n categories: query.categories ? query.categories.split(',') : [],\n prices: query.prices ? query.prices.split(',') : [],\n delivery: query.delivery ? query.delivery.split(',') : [],\n // Продолжайте этот паттерн для остальных полей фильтра\n };\n marketplace.state.filter.innerHTML = newFilterValue;\n }\n})\n\nconst emit = defineEmits(['updateFilters', 'resetFilters'])\n\nconst emitFilterChange = (filterType, value) => {\n emit('updateFilters', { filterType, value })\n}\n\nconst resetFilters = () => {\n emit('resetFilters')\n}\nconst text = {\n locale: 'en',\n messages: {\n en: {\n categoriesTitle: 'Category',\n categories: [],\n filters: {\n title: 'Filters',\n price: {\n title: 'Price',\n from: 'From',\n to: 'To'\n },\n filters: [],\n reset: 'Reset Filters'\n }\n },\n ru: {\n categoriesTitle: 'Категория',\n categories: [],\n filters: {\n title: 'Фильтры',\n price: {\n title: 'Цена',\n from: 'От',\n to: 'До'\n },\n filters: [],\n reset: 'Сбросить фильтры',\n }\n }\n }\n }\n\n categories.state.all.forEach( category => {\n category.localization.forEach( localization => {\n text.messages[localization.locale].categories.push(localization.text)\n })\n })\n\n const { t } = useI18n(text)\n \n\n\n// Добавьте свою локализацию и методы t, если они нужны\n</script>\n\n<style>\n/* Ваши стили */\n</style>\n"],"names":["marketplace.state","categories.actions","categories.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFA,UAAM,QAAQ,SAAU;AACxB,UAAM,SAAS,UAAW;AAK1B,QAAI,UAAU;AAAA,MACZ,QAAQ;AAAA,IACV;AAEsB,QAAI;AAAA,MACxB,YAAY,CAAE;AAAA,MACd,QAAQ,CAAE;AAAA,MACV,UAAU,CAAE;AAAA,MACZ,OAAO,CAAE;AAAA,IACX,CAAC;AAwBD,UAAM,MAAMA,MAAkB,QAAQ,CAAC,gBAAgB,mBAAmB;AAExE,YAAM,QAAQ,EAAE,GAAG,MAAM,MAAK;AAG9B,aAAO,KAAK,cAAc,EAAE,QAAQ,SAAO;AACzC,YAAI,MAAM,GAAG,GAAG;AACd,iBAAO,MAAM,GAAG;AAAA,QACjB;AAAA,MACL,CAAG;AAGD,YAAM,iBAAiB,OAAO;AAAA,QAC5B,OAAO,QAAQ,cAAc,EAC1B,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,CAAC,EACjE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,MAAM,KAAK,GAAG,CAAC,CAAC;AAAA,MACnD;AACE,aAAO,OAAO,OAAO,cAAc;AAGnC,aAAO,QAAQ,EAAE,MAAK,CAAE;AAAA,IAC1B,GAAG,EAAE,MAAM,MAAM;AAEjB,cAAU,YAAY;AACpB,YAAMC,QAAmB,KAAK,OAAO;AAErC,UAAI,MAAM,OAAO;AACf,cAAM,QAAQ,MAAM;AACpB,cAAM,iBAAiB;AAAA,UACrB,YAAY,MAAM,aAAa,MAAM,WAAW,MAAM,GAAG,IAAI,CAAE;AAAA,UAC/D,QAAQ,MAAM,SAAS,MAAM,OAAO,MAAM,GAAG,IAAI,CAAE;AAAA,UACnD,UAAU,MAAM,WAAW,MAAM,SAAS,MAAM,GAAG,IAAI,CAAE;AAAA;AAAA,QAE/D;AACID,cAAkB,OAAO,YAAY;AAAA,MACtC;AAAA,IACH,CAAC;AAED,UAAM,OAAO;AAMb,UAAM,eAAe,MAAM;AACzB,WAAK,cAAc;AAAA,IACrB;AACA,UAAM,OAAO;AAAA,MACT,QAAQ;AAAA,MACR,UAAU;AAAA,QACR,IAAI;AAAA,UACF,iBAAiB;AAAA,UACjB,YAAY,CAAE;AAAA,UACd,SAAS;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,cACL,OAAO;AAAA,cACP,MAAM;AAAA,cACN,IAAI;AAAA,YACL;AAAA,YACD,SAAS,CAAE;AAAA,YACX,OAAO;AAAA,UACR;AAAA,QACF;AAAA,QACD,IAAI;AAAA,UACF,iBAAiB;AAAA,UACjB,YAAY,CAAE;AAAA,UACd,SAAS;AAAA,YACP,OAAO;AAAA,YACP,OAAO;AAAA,cACL,OAAO;AAAA,cACP,MAAM;AAAA,cACN,IAAI;AAAA,YACL;AAAA,YACD,SAAS,CAAE;AAAA,YACX,OAAO;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEDE,YAAiB,IAAI,QAAS,cAAY;AACxC,eAAS,aAAa,QAAS,kBAAgB;AAC7C,aAAK,SAAS,aAAa,MAAM,EAAE,WAAW,KAAK,aAAa,IAAI;AAAA,MAC1E,CAAK;AAAA,IACL,CAAG;AAED,UAAM,EAAE,EAAC,IAAK,QAAQ,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
3
3
|
const vue = require("vue");
|
4
|
-
const Button = require("../../../../components/Button/Button.
|
4
|
+
const Button = require("../../../../components/Button/Button.vue.cjs");
|
5
5
|
const Tab = require("../../../../components/Tab/Tab.vue2.cjs");
|
6
6
|
const PlaceholderImage = require("../../../icons/placeholders/PlaceholderImage.vue.cjs");
|
7
7
|
const Images360 = require("../blocks/Images360.vue.cjs");
|
package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { computed, ref, openBlock, createElementBlock, createElementVNode, createBlock, createCommentVNode, toDisplayString, unref, createVNode, Transition, withCtx, Fragment, renderList, createTextVNode } from "vue";
|
2
|
-
import _sfc_main$3 from "../../../../components/Button/Button.
|
2
|
+
import _sfc_main$3 from "../../../../components/Button/Button.vue.js";
|
3
3
|
import _sfc_main$2 from "../../../../components/Tab/Tab.vue2.js";
|
4
4
|
import PlaceholderImage from "../../../icons/placeholders/PlaceholderImage.vue.js";
|
5
5
|
import Images360 from "../blocks/Images360.vue.js";
|
@@ -1,12 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
3
3
|
const products_router = require("./router/products.router.cjs");
|
4
|
-
const marketplace_router = require("./router/marketplace.router.cjs");
|
5
4
|
const categories = require("./store/categories.cjs");
|
6
5
|
const leftovers = require("./store/leftovers.cjs");
|
7
6
|
const products = require("./store/products.cjs");
|
8
|
-
const marketplace = require("./store/marketplace.cjs");
|
9
|
-
const Marketplace = require("./components/layouts/Marketplace.vue.cjs");
|
10
7
|
const ImagesThumbnails = require("./components/blocks/ImagesThumbnails.vue.cjs");
|
11
8
|
const LeftoverPositions = require("./components/blocks/LeftoverPositions.vue.cjs");
|
12
9
|
const ListPositions = require("./components/blocks/ListPositions.vue.cjs");
|
@@ -18,11 +15,9 @@ const CardPosition = require("./components/blocks/CardPosition.vue.cjs");
|
|
18
15
|
const SectionProduct = require("./components/sections/SectionProduct.vue.cjs");
|
19
16
|
const HeroRecommendation = require("./components/sections/HeroRecommendation.vue.cjs");
|
20
17
|
const FilterProducts = require("./components/sections/FilterProducts.vue.cjs");
|
21
|
-
const MenuSection = require("./components/sections/MenuSection.vue.cjs");
|
22
18
|
const EditModifications = require("./components/sections/EditModifications.vue.cjs");
|
23
19
|
const PopularProducts = require("./components/sections/PopularProducts.vue.cjs");
|
24
20
|
const EditProductInfo = require("./components/sections/EditProductInfo.vue.cjs");
|
25
|
-
const Filters = require("./components/sections/Filters.vue.cjs");
|
26
21
|
const Price = require("./components/elements/Price.vue.cjs");
|
27
22
|
const THC = require("./components/elements/THC.vue.cjs");
|
28
23
|
const Product = require("./components/pages/Product.vue.cjs");
|
@@ -31,16 +26,13 @@ const EditLeftover = require("./components/pages/EditLeftover.vue.cjs");
|
|
31
26
|
const ProductRecommmendation = require("./components/pages/ProductRecommmendation.vue.cjs");
|
32
27
|
const Products = require("./components/pages/Products.vue.cjs");
|
33
28
|
const Leftovers = require("./components/pages/Leftovers.vue.cjs");
|
34
|
-
const Catalog = require("./components/pages/Catalog.vue.cjs");
|
35
29
|
function initializeProducts(app, store, router, options = {}) {
|
36
30
|
const route = options.route || "Home";
|
37
31
|
const routesProducts = products_router.createProductRoutes();
|
38
32
|
router.addRoute(route, routesProducts);
|
39
|
-
router.addRoute(route, marketplace_router.default);
|
40
33
|
store.addStore("categories", categories);
|
41
34
|
store.addStore("leftovers", leftovers);
|
42
35
|
store.addStore("products", products);
|
43
|
-
store.addStore("marketplace", marketplace);
|
44
36
|
}
|
45
37
|
const ModuleProducts = {
|
46
38
|
initialize: initializeProducts,
|
@@ -48,9 +40,7 @@ const ModuleProducts = {
|
|
48
40
|
store: {
|
49
41
|
storeCategories: categories,
|
50
42
|
storeLeftovers: leftovers,
|
51
|
-
storeProducts: products
|
52
|
-
storeMarketplace: marketplace,
|
53
|
-
routerMarketplace: marketplace_router.default
|
43
|
+
storeProducts: products
|
54
44
|
},
|
55
45
|
router: {
|
56
46
|
createProductRoutes: products_router.createProductRoutes
|
@@ -72,25 +62,20 @@ const ModuleProducts = {
|
|
72
62
|
SectionProduct: SectionProduct.default,
|
73
63
|
HeroRecommendation: HeroRecommendation.default,
|
74
64
|
FilterProducts: FilterProducts.default,
|
75
|
-
MenuSection: MenuSection.default,
|
76
65
|
EditModifications: EditModifications.default,
|
77
66
|
PopularProducts: PopularProducts.default,
|
78
67
|
EditProductInfo: EditProductInfo.default,
|
79
|
-
Filters: Filters.default,
|
80
68
|
// Pages
|
81
69
|
Product: Product.default,
|
82
70
|
ProductEdit: ProductEdit.default,
|
83
71
|
EditLeftover: EditLeftover.default,
|
84
72
|
ProductRecommendation: ProductRecommmendation.default,
|
85
73
|
Products: Products.default,
|
86
|
-
Leftovers: Leftovers.default
|
87
|
-
Catalog: Catalog.default,
|
74
|
+
Leftovers: Leftovers.default
|
88
75
|
// Layouts
|
89
|
-
Marketplace: Marketplace.default
|
90
76
|
}
|
91
77
|
}
|
92
78
|
};
|
93
|
-
exports.Marketplace = Marketplace.default;
|
94
79
|
exports.ImagesThumbnails = ImagesThumbnails.default;
|
95
80
|
exports.LeftoverPositions = LeftoverPositions.default;
|
96
81
|
exports.ListPositions = ListPositions.default;
|
@@ -102,11 +87,9 @@ exports.CardPosition = CardPosition.default;
|
|
102
87
|
exports.SectionProduct = SectionProduct.default;
|
103
88
|
exports.HeroRecommendation = HeroRecommendation.default;
|
104
89
|
exports.FilterProducts = FilterProducts.default;
|
105
|
-
exports.MenuSection = MenuSection.default;
|
106
90
|
exports.EditModifications = EditModifications.default;
|
107
91
|
exports.PopularProducts = PopularProducts.default;
|
108
92
|
exports.EditProductInfo = EditProductInfo.default;
|
109
|
-
exports.Filters = Filters.default;
|
110
93
|
exports.Price = Price.default;
|
111
94
|
exports.THC = THC.default;
|
112
95
|
exports.Product = Product.default;
|
@@ -115,6 +98,5 @@ exports.EditLeftover = EditLeftover.default;
|
|
115
98
|
exports.ProductRecommendation = ProductRecommmendation.default;
|
116
99
|
exports.Products = Products.default;
|
117
100
|
exports.Leftovers = Leftovers.default;
|
118
|
-
exports.Catalog = Catalog.default;
|
119
101
|
exports.default = ModuleProducts;
|
120
102
|
//# sourceMappingURL=products.client.cjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"products.client.cjs","sources":["../../../../../src/modules/products/products.client.js"],"sourcesContent":["// Router\nimport { createProductRoutes } from './router/products.router';\
|
1
|
+
{"version":3,"file":"products.client.cjs","sources":["../../../../../src/modules/products/products.client.js"],"sourcesContent":["// Router\nimport { createProductRoutes } from './router/products.router';\n\n//Store\nimport * as storeCategories from './store/categories.js';\nimport * as storeLeftovers from './store/leftovers.js';\nimport * as storeProducts from './store/products.js';\n\n// Layouts \n\n// Blocks\nimport ImagesThumbnails from './components/blocks/ImagesThumbnails.vue';\nimport LeftoverPositions from './components/blocks/LeftoverPositions.vue';\nimport ListPositions from './components/blocks/ListPositions.vue';\nimport CardCategory from './components/blocks/CardCategory.vue';\nimport CardProduct from './components/blocks/CardProduct.vue';\nimport CardLeftover from './components/blocks/CardLeftover.vue';\nimport Images360 from './components/blocks/Images360.vue';\nimport CardPosition from './components/blocks/CardPosition.vue';\n\n// Sections\nimport SectionProduct from './components/sections/SectionProduct.vue';\nimport HeroRecommendation from './components/sections/HeroRecommendation.vue';\nimport FilterProducts from './components/sections/FilterProducts.vue';\nimport EditModifications from './components/sections/EditModifications.vue';\nimport PopularProducts from './components/sections/PopularProducts.vue';\nimport EditProductInfo from './components/sections/EditProductInfo.vue';\n\n// Elements\nimport Price from './components/elements/Price.vue';\nimport THC from './components/elements/THC.vue';\n\n// Pages\nimport Product from './components/pages/Product.vue';\nimport ProductEdit from './components/pages/ProductEdit.vue';\nimport EditLeftover from './components/pages/EditLeftover.vue';\nimport ProductRecommendation from './components/pages/ProductRecommmendation.vue';\nimport Products from './components/pages/Products.vue';\nimport Leftovers from './components/pages/Leftovers.vue';\n\n// Пример функции инициализации для модуля продуктов\nfunction initializeProducts(app, store, router, options = {}) {\n const route = options.route || 'Home';\n\n const routesProducts = createProductRoutes();\n \n router.addRoute(route, routesProducts);\n \n store.addStore('categories', storeCategories);\n store.addStore('leftovers', storeLeftovers);\n store.addStore('products', storeProducts);\n}\n\nconst ModuleProducts = {\n initialize: initializeProducts,\n views: {\n store: {\n storeCategories,\n storeLeftovers,\n storeProducts,\n },\n router: {\n createProductRoutes\n },\n components: {\n // Elements\n Price,\n THC,\n // Blocks\n ImagesThumbnails,\n LeftoverPositions,\n ListPositions,\n CardCategory,\n CardProduct,\n CardLeftover,\n Images360,\n CardPosition,\n // Sections\n SectionProduct,\n HeroRecommendation,\n FilterProducts,\n EditModifications,\n PopularProducts,\n EditProductInfo,\n // Pages\n Product,\n ProductEdit,\n EditLeftover,\n ProductRecommendation,\n Products,\n Leftovers,\n // Layouts\n }\n }\n}\n\nexport {\n // Blocks\n ImagesThumbnails,\n LeftoverPositions,\n ListPositions,\n CardCategory,\n CardProduct,\n CardLeftover,\n Images360,\n CardPosition,\n // Sections\n SectionProduct,\n HeroRecommendation,\n FilterProducts,\n EditModifications,\n PopularProducts,\n EditProductInfo,\n // Elements\n Price,\n THC,\n // Pages\n Product,\n ProductEdit,\n EditLeftover,\n ProductRecommendation,\n Products,\n Leftovers,\n // Layouts\n};\n\nexport default ModuleProducts;"],"names":["createProductRoutes","storeCategories","storeLeftovers","storeProducts","Price","THC","ImagesThumbnails","LeftoverPositions","ListPositions","CardCategory","CardProduct","CardLeftover","Images360","CardPosition","SectionProduct","HeroRecommendation","FilterProducts","EditModifications","PopularProducts","EditProductInfo","Product","ProductEdit","EditLeftover","ProductRecommendation","Products","Leftovers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,SAAS,mBAAmB,KAAK,OAAO,QAAQ,UAAU,CAAA,GAAI;AAC5D,QAAM,QAAQ,QAAQ,SAAS;AAE/B,QAAM,iBAAiBA,gBAAAA;AAEvB,SAAO,SAAS,OAAO,cAAc;AAErC,QAAM,SAAS,cAAcC,UAAe;AAC5C,QAAM,SAAS,aAAaC,SAAc;AAC1C,QAAM,SAAS,YAAYC,QAAa;AAC1C;AAEK,MAAC,iBAAiB;AAAA,EACrB,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,OAAO;AAAA,MACX,iBAAMF;AAAAA,MACN,gBAAMC;AAAAA,MACN,eAAMC;AAAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACZ,qBAAMH,gBAAmB;AAAA,IACpB;AAAA,IACD,YAAY;AAAA;AAAA,MAEhB,OAAMI,MAAK;AAAA,MACX,KAAMC,IAAG;AAAA;AAAA,MAET,kBAAMC,iBAAgB;AAAA,MACtB,mBAAMC,kBAAiB;AAAA,MACvB,eAAMC,cAAa;AAAA,MACnB,cAAMC,aAAY;AAAA,MAClB,aAAMC,YAAW;AAAA,MACjB,cAAMC,aAAY;AAAA,MAClB,WAAMC,UAAS;AAAA,MACf,cAAMC,aAAY;AAAA;AAAA,MAElB,gBAAMC,eAAc;AAAA,MACpB,oBAAMC,mBAAkB;AAAA,MACxB,gBAAMC,eAAc;AAAA,MACpB,mBAAMC,kBAAiB;AAAA,MACvB,iBAAMC,gBAAe;AAAA,MACrB,iBAAMC,gBAAe;AAAA;AAAA,MAErB,SAAMC,QAAO;AAAA,MACb,aAAMC,YAAW;AAAA,MACjB,cAAMC,aAAY;AAAA,MAClB,uBAAMC,uBAAqB;AAAA,MAC3B,UAAMC,SAAQ;AAAA,MACd,WAAMC,UAAS;AAAA;AAAA,IAEV;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -1,10 +1,7 @@
|
|
1
1
|
import { createProductRoutes } from "./router/products.router.js";
|
2
|
-
import marketplace$1 from "./router/marketplace.router.js";
|
3
2
|
import * as categories from "./store/categories.js";
|
4
3
|
import * as leftovers from "./store/leftovers.js";
|
5
4
|
import * as products from "./store/products.js";
|
6
|
-
import * as marketplace from "./store/marketplace.js";
|
7
|
-
import _sfc_main$l from "./components/layouts/Marketplace.vue.js";
|
8
5
|
import ImagesThumbnails from "./components/blocks/ImagesThumbnails.vue.js";
|
9
6
|
import _sfc_main$2 from "./components/blocks/LeftoverPositions.vue.js";
|
10
7
|
import _sfc_main$3 from "./components/blocks/ListPositions.vue.js";
|
@@ -16,29 +13,24 @@ import _sfc_main$6 from "./components/blocks/CardPosition.vue.js";
|
|
16
13
|
import _sfc_main$7 from "./components/sections/SectionProduct.vue.js";
|
17
14
|
import _sfc_main$8 from "./components/sections/HeroRecommendation.vue.js";
|
18
15
|
import _sfc_main$9 from "./components/sections/FilterProducts.vue.js";
|
19
|
-
import _sfc_main$a from "./components/sections/
|
20
|
-
import _sfc_main$b from "./components/sections/
|
21
|
-
import _sfc_main$c from "./components/sections/
|
22
|
-
import _sfc_main$d from "./components/sections/EditProductInfo.vue.js";
|
23
|
-
import _sfc_main$e from "./components/sections/Filters.vue.js";
|
16
|
+
import _sfc_main$a from "./components/sections/EditModifications.vue.js";
|
17
|
+
import _sfc_main$b from "./components/sections/PopularProducts.vue.js";
|
18
|
+
import _sfc_main$c from "./components/sections/EditProductInfo.vue.js";
|
24
19
|
import _sfc_main from "./components/elements/Price.vue.js";
|
25
20
|
import _sfc_main$1 from "./components/elements/THC.vue.js";
|
26
|
-
import _sfc_main$
|
27
|
-
import _sfc_main$
|
28
|
-
import _sfc_main$
|
21
|
+
import _sfc_main$d from "./components/pages/Product.vue.js";
|
22
|
+
import _sfc_main$e from "./components/pages/ProductEdit.vue.js";
|
23
|
+
import _sfc_main$f from "./components/pages/EditLeftover.vue.js";
|
29
24
|
import ProductRecommendation from "./components/pages/ProductRecommmendation.vue.js";
|
30
|
-
import _sfc_main$
|
31
|
-
import _sfc_main$
|
32
|
-
import _sfc_main$k from "./components/pages/Catalog.vue.js";
|
25
|
+
import _sfc_main$g from "./components/pages/Products.vue.js";
|
26
|
+
import _sfc_main$h from "./components/pages/Leftovers.vue.js";
|
33
27
|
function initializeProducts(app, store, router, options = {}) {
|
34
28
|
const route = options.route || "Home";
|
35
29
|
const routesProducts = createProductRoutes();
|
36
30
|
router.addRoute(route, routesProducts);
|
37
|
-
router.addRoute(route, marketplace$1);
|
38
31
|
store.addStore("categories", categories);
|
39
32
|
store.addStore("leftovers", leftovers);
|
40
33
|
store.addStore("products", products);
|
41
|
-
store.addStore("marketplace", marketplace);
|
42
34
|
}
|
43
35
|
const ModuleProducts = {
|
44
36
|
initialize: initializeProducts,
|
@@ -46,9 +38,7 @@ const ModuleProducts = {
|
|
46
38
|
store: {
|
47
39
|
storeCategories: categories,
|
48
40
|
storeLeftovers: leftovers,
|
49
|
-
storeProducts: products
|
50
|
-
storeMarketplace: marketplace,
|
51
|
-
routerMarketplace: marketplace$1
|
41
|
+
storeProducts: products
|
52
42
|
},
|
53
43
|
router: {
|
54
44
|
createProductRoutes
|
@@ -70,21 +60,17 @@ const ModuleProducts = {
|
|
70
60
|
SectionProduct: _sfc_main$7,
|
71
61
|
HeroRecommendation: _sfc_main$8,
|
72
62
|
FilterProducts: _sfc_main$9,
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
EditProductInfo: _sfc_main$d,
|
77
|
-
Filters: _sfc_main$e,
|
63
|
+
EditModifications: _sfc_main$a,
|
64
|
+
PopularProducts: _sfc_main$b,
|
65
|
+
EditProductInfo: _sfc_main$c,
|
78
66
|
// Pages
|
79
|
-
Product: _sfc_main$
|
80
|
-
ProductEdit: _sfc_main$
|
81
|
-
EditLeftover: _sfc_main$
|
67
|
+
Product: _sfc_main$d,
|
68
|
+
ProductEdit: _sfc_main$e,
|
69
|
+
EditLeftover: _sfc_main$f,
|
82
70
|
ProductRecommendation,
|
83
|
-
Products: _sfc_main$
|
84
|
-
Leftovers: _sfc_main$
|
85
|
-
Catalog: _sfc_main$k,
|
71
|
+
Products: _sfc_main$g,
|
72
|
+
Leftovers: _sfc_main$h
|
86
73
|
// Layouts
|
87
|
-
Marketplace: _sfc_main$l
|
88
74
|
}
|
89
75
|
}
|
90
76
|
};
|
@@ -93,26 +79,22 @@ export {
|
|
93
79
|
CardLeftover,
|
94
80
|
_sfc_main$6 as CardPosition,
|
95
81
|
_sfc_main$5 as CardProduct,
|
96
|
-
_sfc_main$
|
97
|
-
_sfc_main$
|
98
|
-
_sfc_main$
|
99
|
-
_sfc_main$d as EditProductInfo,
|
82
|
+
_sfc_main$f as EditLeftover,
|
83
|
+
_sfc_main$a as EditModifications,
|
84
|
+
_sfc_main$c as EditProductInfo,
|
100
85
|
_sfc_main$9 as FilterProducts,
|
101
|
-
_sfc_main$e as Filters,
|
102
86
|
_sfc_main$8 as HeroRecommendation,
|
103
87
|
Images360,
|
104
88
|
ImagesThumbnails,
|
105
89
|
_sfc_main$2 as LeftoverPositions,
|
106
|
-
_sfc_main$
|
90
|
+
_sfc_main$h as Leftovers,
|
107
91
|
_sfc_main$3 as ListPositions,
|
108
|
-
_sfc_main$
|
109
|
-
_sfc_main$a as MenuSection,
|
110
|
-
_sfc_main$c as PopularProducts,
|
92
|
+
_sfc_main$b as PopularProducts,
|
111
93
|
_sfc_main as Price,
|
112
|
-
_sfc_main$
|
113
|
-
_sfc_main$
|
94
|
+
_sfc_main$d as Product,
|
95
|
+
_sfc_main$e as ProductEdit,
|
114
96
|
ProductRecommendation,
|
115
|
-
_sfc_main$
|
97
|
+
_sfc_main$g as Products,
|
116
98
|
_sfc_main$7 as SectionProduct,
|
117
99
|
_sfc_main$1 as THC,
|
118
100
|
ModuleProducts as default
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"products.client.js","sources":["../../../../../src/modules/products/products.client.js"],"sourcesContent":["// Router\nimport { createProductRoutes } from './router/products.router';\
|
1
|
+
{"version":3,"file":"products.client.js","sources":["../../../../../src/modules/products/products.client.js"],"sourcesContent":["// Router\nimport { createProductRoutes } from './router/products.router';\n\n//Store\nimport * as storeCategories from './store/categories.js';\nimport * as storeLeftovers from './store/leftovers.js';\nimport * as storeProducts from './store/products.js';\n\n// Layouts \n\n// Blocks\nimport ImagesThumbnails from './components/blocks/ImagesThumbnails.vue';\nimport LeftoverPositions from './components/blocks/LeftoverPositions.vue';\nimport ListPositions from './components/blocks/ListPositions.vue';\nimport CardCategory from './components/blocks/CardCategory.vue';\nimport CardProduct from './components/blocks/CardProduct.vue';\nimport CardLeftover from './components/blocks/CardLeftover.vue';\nimport Images360 from './components/blocks/Images360.vue';\nimport CardPosition from './components/blocks/CardPosition.vue';\n\n// Sections\nimport SectionProduct from './components/sections/SectionProduct.vue';\nimport HeroRecommendation from './components/sections/HeroRecommendation.vue';\nimport FilterProducts from './components/sections/FilterProducts.vue';\nimport EditModifications from './components/sections/EditModifications.vue';\nimport PopularProducts from './components/sections/PopularProducts.vue';\nimport EditProductInfo from './components/sections/EditProductInfo.vue';\n\n// Elements\nimport Price from './components/elements/Price.vue';\nimport THC from './components/elements/THC.vue';\n\n// Pages\nimport Product from './components/pages/Product.vue';\nimport ProductEdit from './components/pages/ProductEdit.vue';\nimport EditLeftover from './components/pages/EditLeftover.vue';\nimport ProductRecommendation from './components/pages/ProductRecommmendation.vue';\nimport Products from './components/pages/Products.vue';\nimport Leftovers from './components/pages/Leftovers.vue';\n\n// Пример функции инициализации для модуля продуктов\nfunction initializeProducts(app, store, router, options = {}) {\n const route = options.route || 'Home';\n\n const routesProducts = createProductRoutes();\n \n router.addRoute(route, routesProducts);\n \n store.addStore('categories', storeCategories);\n store.addStore('leftovers', storeLeftovers);\n store.addStore('products', storeProducts);\n}\n\nconst ModuleProducts = {\n initialize: initializeProducts,\n views: {\n store: {\n storeCategories,\n storeLeftovers,\n storeProducts,\n },\n router: {\n createProductRoutes\n },\n components: {\n // Elements\n Price,\n THC,\n // Blocks\n ImagesThumbnails,\n LeftoverPositions,\n ListPositions,\n CardCategory,\n CardProduct,\n CardLeftover,\n Images360,\n CardPosition,\n // Sections\n SectionProduct,\n HeroRecommendation,\n FilterProducts,\n EditModifications,\n PopularProducts,\n EditProductInfo,\n // Pages\n Product,\n ProductEdit,\n EditLeftover,\n ProductRecommendation,\n Products,\n Leftovers,\n // Layouts\n }\n }\n}\n\nexport {\n // Blocks\n ImagesThumbnails,\n LeftoverPositions,\n ListPositions,\n CardCategory,\n CardProduct,\n CardLeftover,\n Images360,\n CardPosition,\n // Sections\n SectionProduct,\n HeroRecommendation,\n FilterProducts,\n EditModifications,\n PopularProducts,\n EditProductInfo,\n // Elements\n Price,\n THC,\n // Pages\n Product,\n ProductEdit,\n EditLeftover,\n ProductRecommendation,\n Products,\n Leftovers,\n // Layouts\n};\n\nexport default ModuleProducts;"],"names":["storeCategories","storeLeftovers","storeProducts","Price","THC","LeftoverPositions","ListPositions","CardCategory","CardProduct","CardPosition","SectionProduct","HeroRecommendation","FilterProducts","EditModifications","PopularProducts","EditProductInfo","Product","ProductEdit","EditLeftover","Products","Leftovers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,SAAS,mBAAmB,KAAK,OAAO,QAAQ,UAAU,CAAA,GAAI;AAC5D,QAAM,QAAQ,QAAQ,SAAS;AAE/B,QAAM,iBAAiB;AAEvB,SAAO,SAAS,OAAO,cAAc;AAErC,QAAM,SAAS,cAAcA,UAAe;AAC5C,QAAM,SAAS,aAAaC,SAAc;AAC1C,QAAM,SAAS,YAAYC,QAAa;AAC1C;AAEK,MAAC,iBAAiB;AAAA,EACrB,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,OAAO;AAAA,MACX,iBAAMF;AAAAA,MACN,gBAAMC;AAAAA,MACN,eAAMC;AAAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACN;AAAA,IACD;AAAA,IACD,YAAY;AAAA;AAAA,MAEhB,OAAMC;AAAAA,MACN,KAAMC;AAAAA;AAAAA,MAEA;AAAA,MACN,mBAAMC;AAAAA,MACN,eAAMC;AAAAA,MACN,cAAMC;AAAAA,MACN,aAAMC;AAAAA,MACA;AAAA,MACA;AAAA,MACN,cAAMC;AAAAA;AAAAA,MAEN,gBAAMC;AAAAA,MACN,oBAAMC;AAAAA,MACN,gBAAMC;AAAAA,MACN,mBAAMC;AAAAA,MACN,iBAAMC;AAAAA,MACN,iBAAMC;AAAAA;AAAAA,MAEN,SAAMC;AAAAA,MACN,aAAMC;AAAAA,MACN,cAAMC;AAAAA,MACA;AAAA,MACN,UAAMC;AAAAA,MACN,WAAMC;AAAAA;AAAAA,IAED;AAAA,EACF;AACH;"}
|