@ozdao/martyrs 0.2.507 → 0.2.509
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{main-AWSb_d2P.cjs → main-D89N_jml.cjs} +1 -1
- package/dist/{main-Dq-UfO4G.js → main-DSiCr7yl.js} +7 -8
- package/dist/martyrs/src/components/Button/{Button.vue2.cjs → Button.vue.cjs} +3 -3
- package/dist/martyrs/src/components/Button/{Button.vue2.js.map → Button.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Button/{Button.vue2.js → Button.vue.js} +3 -3
- package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue2.cjs → Chips.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue2.js → Chips.vue.js} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -0
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.cjs → Dropdown.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js.map → Dropdown.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +2 -2
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
- package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +5 -4
- package/dist/martyrs/src/components/Feed/Carousel.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Feed/Carousel.vue.js +6 -5
- package/dist/martyrs/src/components/Feed/Carousel.vue.js.map +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs +2 -2
- package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +3 -3
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +3 -3
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
- package/dist/martyrs/src/components/Loader/{Loader.vue.cjs → Loader.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Loader/Loader.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Loader/{Loader.vue.js → Loader.vue2.js} +2 -2
- package/dist/martyrs/src/components/Loader/{Loader.vue.cjs.map → Loader.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.cjs +1 -1
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.js +1 -1
- package/dist/martyrs/src/components/Menu/{Menu.vue.cjs → Menu.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Select/{Select.vue.cjs → Select.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Select/{Select.vue.js → Select.vue2.js} +2 -2
- package/dist/martyrs/src/components/Select/{Select.vue.cjs.map → Select.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs +1 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +19 -13
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +20 -14
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +3 -3
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +3 -3
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +3 -3
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +3 -3
- package/dist/martyrs/src/modules/events/components/sections/Feed.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/sections/List.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/globals.client.cjs +3 -0
- package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/globals.client.js +15 -12
- package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs +335 -0
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js +335 -0
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js.map +1 -0
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +3 -3
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/logos/Logotype.vue.cjs +3 -3
- package/dist/martyrs/src/modules/icons/logos/Logotype.vue.js +3 -3
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +138 -136
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +137 -135
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
- package/dist/martyrs/src/modules/music/router/music.cjs +2 -2
- package/dist/martyrs/src/modules/music/router/music.js +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +62 -10
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +62 -10
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/orders.client.cjs +36 -38
- package/dist/martyrs/src/modules/orders/orders.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/orders.client.js +36 -38
- package/dist/martyrs/src/modules/orders/orders.client.js.map +1 -1
- package/dist/martyrs/src/modules/orders/store/models/customer.cjs +7 -0
- package/dist/martyrs/src/modules/orders/store/models/customer.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/store/models/customer.js +7 -0
- package/dist/martyrs/src/modules/orders/store/models/customer.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +126 -16
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +128 -18
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +17 -28
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +17 -28
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/organizations.client.cjs +0 -3
- package/dist/martyrs/src/modules/organizations/organizations.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/organizations.client.js +36 -39
- package/dist/martyrs/src/modules/organizations/organizations.client.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Image360.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs +9 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js +9 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +4 -4
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +3 -2
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +3 -2
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs +10 -5
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js +10 -5
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +6 -3
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +6 -3
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +2 -2
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +4 -4
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +4 -4
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
- package/dist/orders.server.cjs +58 -0
- package/dist/orders.server.js +58 -0
- package/dist/products.server.cjs +11 -1
- package/dist/products.server.js +11 -1
- package/dist/style.css +34 -32
- package/dist/{web-DaBwwCQ5.cjs → web-XyQNm3cW.cjs} +1 -1
- package/dist/{web-BXajFCU2.js → web-gtBkwjra.js} +1 -1
- package/package.json +1 -1
- package/src/components/Feed/Carousel.vue +3 -1
- package/src/components/FieldBig/FieldBig.vue +2 -2
- package/src/modules/auth/views/components/pages/ProfileEdit.vue +18 -11
- package/src/modules/globals/globals.client.js +3 -0
- package/src/modules/globals/views/components/partials/{FooterAlt.vue → Footer.centered.vue} +101 -99
- package/src/modules/globals/views/components/partials/Footer.vue +321 -162
- package/src/modules/globals/views/components/partials/Header.vue +1 -1
- package/src/modules/icons/logos/Logotype.vue +1 -1
- package/src/modules/inventory/components/pages/Inventory.vue +126 -119
- package/src/modules/orders/components/forms/FormCustomerDetails.vue +51 -0
- package/src/modules/orders/middlewares/customers.verifier.js +60 -0
- package/src/modules/orders/models/customer.model.js +18 -0
- package/src/modules/orders/orders.client.js +36 -38
- package/src/modules/orders/store/models/customer.js +7 -0
- package/src/modules/organizations/components/pages/Organization.vue +146 -6
- package/src/modules/organizations/configs/navigation.organization.config.js +17 -26
- package/src/modules/organizations/organizations.client.js +0 -3
- package/src/modules/products/TASKS.MD +1 -157
- package/src/modules/products/components/elements/QuantitySelector.vue +17 -9
- package/src/modules/products/components/pages/Product.vue +1 -1
- package/src/modules/products/components/pages/Products.vue +5 -2
- package/src/modules/products/components/sections/ProductsPopular.vue +9 -5
- package/src/modules/products/components/sections/ProductsRecommended.vue +4 -1
- package/src/modules/products/controllers/configs/products.lookup.config.js +11 -1
- package/src/styles/base/all.scss +9 -4
- package/src/styles/config.scss +10 -0
- package/src/styles/responsive.scss +2 -1
- package/src/styles/typography.scss +0 -5
- package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Loader/Loader.vue.js.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
- package/dist/martyrs/src/components/Select/Select.vue.js.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +0 -137
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +0 -137
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js.map +0 -1
- package/src/modules/organizations/components/sections/DetailsTabSection.vue +0 -190
|
@@ -2,7 +2,7 @@ import { createElementBlock, openBlock, createStaticVNode } from "vue";
|
|
|
2
2
|
/* empty css */
|
|
3
3
|
import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
4
|
const _hoisted_1 = {
|
|
5
|
-
class: "
|
|
5
|
+
class: "w-auto",
|
|
6
6
|
width: "270",
|
|
7
7
|
height: "300",
|
|
8
8
|
viewBox: "0 0 270 300",
|
|
@@ -14,12 +14,12 @@ const _sfc_main = {
|
|
|
14
14
|
setup(__props) {
|
|
15
15
|
return (_ctx, _cache) => {
|
|
16
16
|
return openBlock(), createElementBlock("svg", _hoisted_1, _cache[0] || (_cache[0] = [
|
|
17
|
-
createStaticVNode('<g clip-path="url(#clip0)" data-v-
|
|
17
|
+
createStaticVNode('<g clip-path="url(#clip0)" data-v-4241147a><path fill-rule="evenodd" clip-rule="evenodd" d="M264.626 52.2791C265.531 57.2858 266 62.4066 266 67.6155C266 125.882 207.349 173.116 135 173.116C62.6507 173.116 4 125.882 4 67.6155C4 62.4066 4.46875 57.2858 5.37413 52.2791C11.0997 32.6306 21.1714 14.8341 34.4789 0C34.1621 2.17658 34 4.38345 34 6.61562C34 43.8948 79.2192 74.1156 135 74.1156C190.781 74.1156 236 43.8948 236 6.61562C236 4.38345 235.838 2.17659 235.521 5.29254e-06C248.829 14.8341 258.9 32.6306 264.626 52.2791Z" fill="#00FF88" data-v-4241147a></path><path d="M270 165C270 239.558 209.558 300 135 300C60.4416 300 0 239.558 0 165C0 90.4416 60.4416 30 135 30C209.558 30 270 90.4416 270 165Z" fill="#00FF88" data-v-4241147a></path><ellipse class="eye" cx="143" cy="155.5" rx="37" ry="37.5" stroke="white" fill="white" stroke-width="1.48515" data-v-4241147a></ellipse><g class="eye" data-v-4241147a><path d="M215 166C215 210.849 179.07 247 135 247C90.9303 247 55 210.849 55 166C55 121.151 90.9303 85 135 85C179.07 85 215 121.151 215 166Z" stroke="white" stroke-width="11" data-v-4241147a></path></g></g><defs data-v-4241147a><clipPath id="clip0" data-v-4241147a><rect width="269.333" height="300" fill="white" data-v-4241147a></rect></clipPath></defs>', 2)
|
|
18
18
|
]));
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
|
-
const Logotype = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
22
|
+
const Logotype = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4241147a"]]);
|
|
23
23
|
export {
|
|
24
24
|
Logotype as default
|
|
25
25
|
};
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const vueRouter = require("vue-router");
|
|
5
5
|
const Field = require("../../../../components/Field/Field.vue.cjs");
|
|
6
|
-
const Select = require("../../../../components/Select/Select.
|
|
6
|
+
const Select = require("../../../../components/Select/Select.vue2.cjs");
|
|
7
7
|
const auth = require("../../../auth/views/store/auth.cjs");
|
|
8
8
|
const spots = require("../../../spots/store/spots.cjs");
|
|
9
9
|
const variants_store = require("../../../products/store/variants.store.cjs");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, onMounted, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, createBlock, Fragment, renderList, normalizeClass, resolveDynamicComponent, toDisplayString } from "vue";
|
|
2
2
|
import { useRoute } from "vue-router";
|
|
3
3
|
import Field from "../../../../components/Field/Field.vue.js";
|
|
4
|
-
import Select from "../../../../components/Select/Select.
|
|
4
|
+
import Select from "../../../../components/Select/Select.vue2.js";
|
|
5
5
|
import { state } from "../../../auth/views/store/auth.js";
|
|
6
6
|
import { actions } from "../../../spots/store/spots.js";
|
|
7
7
|
import variantsStore from "../../../products/store/variants.store.js";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const vueRouter = require("vue-router");
|
|
5
5
|
const Field = require("../../../../components/Field/Field.vue.cjs");
|
|
6
|
-
const Select = require("../../../../components/Select/Select.
|
|
6
|
+
const Select = require("../../../../components/Select/Select.vue2.cjs");
|
|
7
7
|
const auth = require("../../../auth/views/store/auth.cjs");
|
|
8
8
|
const spots = require("../../../spots/store/spots.cjs");
|
|
9
9
|
const variants_store = require("../../../products/store/variants.store.cjs");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, computed, onMounted, createElementBlock, openBlock, createElementVNode, createVNode, toDisplayString } from "vue";
|
|
2
2
|
import { useRoute } from "vue-router";
|
|
3
3
|
import Field from "../../../../components/Field/Field.vue.js";
|
|
4
|
-
import Select from "../../../../components/Select/Select.
|
|
4
|
+
import Select from "../../../../components/Select/Select.vue2.js";
|
|
5
5
|
import { state } from "../../../auth/views/store/auth.js";
|
|
6
6
|
import { actions } from "../../../spots/store/spots.js";
|
|
7
7
|
import variantsStore from "../../../products/store/variants.store.js";
|
|
@@ -6,14 +6,15 @@ const mixins = require("../../../globals/views/mixins/mixins.cjs");
|
|
|
6
6
|
const Table = require("../../../../components/Table/Table.vue.cjs");
|
|
7
7
|
const Feed = require("../../../../components/Feed/Feed.vue.cjs");
|
|
8
8
|
const PlaceholderImage = require("../../../icons/placeholders/PlaceholderImage.vue.cjs");
|
|
9
|
-
const Dropdown = require("../../../../components/Dropdown/Dropdown.
|
|
9
|
+
const Dropdown = require("../../../../components/Dropdown/Dropdown.vue.cjs");
|
|
10
10
|
const Popup = require("../../../../components/Popup/Popup.vue.cjs");
|
|
11
|
+
;/* empty css */
|
|
11
12
|
const IconSettings = require("../../../icons/entities/IconSettings.vue.cjs");
|
|
12
13
|
const IconEllipsis = require("../../../icons/navigation/IconEllipsis.vue.cjs");
|
|
13
14
|
const AdjustmentForm = require("../forms/AdjustmentForm.vue.cjs");
|
|
14
15
|
const StockAlertsForm = require("../forms/StockAlertsForm.vue.cjs");
|
|
15
16
|
const HistoryView = require("../forms/HistoryView.vue.cjs");
|
|
16
|
-
const ColumnSettingsMenu =
|
|
17
|
+
const ColumnSettingsMenu = ;/* empty css */
|
|
17
18
|
const _inventory_store = require("../../store/ inventory.store.cjs");
|
|
18
19
|
const products = require("../../../products/store/products.cjs");
|
|
19
20
|
const auth = require("../../../auth/views/store/auth.cjs");
|
|
@@ -21,27 +22,23 @@ const stock_alerts_store = require("../../store/stock.alerts.store.cjs");
|
|
|
21
22
|
;/* empty css */
|
|
22
23
|
const _hoisted_1 = { class: "pd-thin" };
|
|
23
24
|
const _hoisted_2 = { class: "mn-b-medium flex-v-center flex-nowrap flex" };
|
|
24
|
-
const _hoisted_3 = { class: "
|
|
25
|
-
const _hoisted_4 =
|
|
26
|
-
const _hoisted_5 =
|
|
27
|
-
const _hoisted_6 = {
|
|
28
|
-
const _hoisted_7 = {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
};
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
};
|
|
38
|
-
const _hoisted_11 = { class: "flex-column flex" };
|
|
39
|
-
const _hoisted_12 = { class: "d-block mn-b-thin" };
|
|
40
|
-
const _hoisted_13 = { class: "w-100 h-micro radius-thin bg-light" };
|
|
41
|
-
const _hoisted_14 = { class: "bg-white radius-small" };
|
|
42
|
-
const _hoisted_15 = ["onClick"];
|
|
43
|
-
const _hoisted_16 = ["onClick"];
|
|
25
|
+
const _hoisted_3 = { class: "rows-1" };
|
|
26
|
+
const _hoisted_4 = { class: "w-max-20r t-trim flex gap-small flex-nowrap flex-v-center" };
|
|
27
|
+
const _hoisted_5 = ["src"];
|
|
28
|
+
const _hoisted_6 = { class: "t-trim t-nowrap" };
|
|
29
|
+
const _hoisted_7 = { class: "w-max-10r flex-nowrap flex t-trim" };
|
|
30
|
+
const _hoisted_8 = { key: 1 };
|
|
31
|
+
const _hoisted_9 = { class: "w-max-10r flex-nowrap flex t-trim" };
|
|
32
|
+
const _hoisted_10 = { class: "t-medium" };
|
|
33
|
+
const _hoisted_11 = { class: "t-small" };
|
|
34
|
+
const _hoisted_12 = { key: 1 };
|
|
35
|
+
const _hoisted_13 = { class: "flex-column flex" };
|
|
36
|
+
const _hoisted_14 = { class: "d-block mn-b-thin" };
|
|
37
|
+
const _hoisted_15 = { class: "w-100 h-micro radius-thin bg-light" };
|
|
38
|
+
const _hoisted_16 = { class: "bg-white radius-small" };
|
|
44
39
|
const _hoisted_17 = ["onClick"];
|
|
40
|
+
const _hoisted_18 = ["onClick"];
|
|
41
|
+
const _hoisted_19 = ["onClick"];
|
|
45
42
|
const _sfc_main = {
|
|
46
43
|
__name: "Inventory",
|
|
47
44
|
setup(__props) {
|
|
@@ -152,123 +149,128 @@ const _sfc_main = {
|
|
|
152
149
|
innerHTML: "+"
|
|
153
150
|
})) : vue.createCommentVNode("", true)
|
|
154
151
|
]),
|
|
155
|
-
vue.
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
actions: [{
|
|
166
|
-
key: "settings",
|
|
167
|
-
component: IconSettings.default,
|
|
168
|
-
props: {
|
|
169
|
-
class: "h-3r pd-r-small pd-l-small flex-center flex bg-light t-black radius-small hover-scale-1 cursor-pointer"
|
|
152
|
+
vue.createElementVNode("div", _hoisted_3, [
|
|
153
|
+
vue.createVNode(Feed.default, {
|
|
154
|
+
search: true,
|
|
155
|
+
filter,
|
|
156
|
+
"onUpdate:filter": _cache[2] || (_cache[2] = ($event) => filter = $event),
|
|
157
|
+
sort: sort.value,
|
|
158
|
+
"onUpdate:sort": _cache[3] || (_cache[3] = ($event) => sort.value = $event),
|
|
159
|
+
store: {
|
|
160
|
+
read: (options) => products.actions.read(options),
|
|
161
|
+
state: products.state
|
|
170
162
|
},
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
}, [
|
|
216
|
-
vue.createElementVNode("span", _hoisted_8, vue.toDisplayString(avail.storageName || avail.storage) + ":", 1),
|
|
217
|
-
vue.createElementVNode("span", _hoisted_9, vue.toDisplayString(avail.available || 0), 1)
|
|
218
|
-
]);
|
|
219
|
-
}), 128))
|
|
220
|
-
])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_10, "No stock"))
|
|
221
|
-
]),
|
|
222
|
-
"cell-available": vue.withCtx(({ row }) => [
|
|
223
|
-
vue.createElementVNode("div", _hoisted_11, [
|
|
224
|
-
vue.createElementVNode("span", _hoisted_12, vue.toDisplayString(row.available) + " · " + vue.toDisplayString(row.available <= 5 ? "Low" : row.available <= 10 ? "Medium" : "High"), 1),
|
|
225
|
-
vue.createElementVNode("div", _hoisted_13, [
|
|
226
|
-
vue.createElementVNode("div", {
|
|
227
|
-
class: vue.normalizeClass([
|
|
228
|
-
"h-100 radius-thin",
|
|
229
|
-
row.available <= 1 ? "bg-red t-white" : row.available <= 2 ? "bg-orange t-white" : "bg-green t-white"
|
|
230
|
-
]),
|
|
231
|
-
style: vue.normalizeStyle(`width: ${Math.min(
|
|
232
|
-
row.available / (row.alert !== void 0 ? row.alert : 50) * 100,
|
|
233
|
-
100
|
|
234
|
-
)}%`)
|
|
235
|
-
}, null, 6)
|
|
163
|
+
actions: [{
|
|
164
|
+
key: "settings",
|
|
165
|
+
component: IconSettings.default,
|
|
166
|
+
props: {
|
|
167
|
+
class: "h-3r pd-r-small pd-l-small flex-center flex bg-light t-black radius-small hover-scale-1 cursor-pointer"
|
|
168
|
+
},
|
|
169
|
+
handler: openViewSettings
|
|
170
|
+
}],
|
|
171
|
+
options: {
|
|
172
|
+
limit: 15,
|
|
173
|
+
lookup: ["inventory", "categories"],
|
|
174
|
+
owner: vue.unref(route).params._id,
|
|
175
|
+
sortParam: sort.value.param,
|
|
176
|
+
sortOrder: sort.value.order
|
|
177
|
+
}
|
|
178
|
+
}, {
|
|
179
|
+
default: vue.withCtx(({ items }) => [
|
|
180
|
+
vue.createVNode(Table.default, {
|
|
181
|
+
columns: columns.filter((col) => col.visible),
|
|
182
|
+
items,
|
|
183
|
+
class: "bg-white z-index-1 br-solid br-1px br-light radius-medium"
|
|
184
|
+
}, {
|
|
185
|
+
"cell-name": vue.withCtx(({ row }) => [
|
|
186
|
+
vue.createElementVNode("div", _hoisted_4, [
|
|
187
|
+
row.images?.length ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
188
|
+
key: 0,
|
|
189
|
+
src: (_ctx.FILE_SERVER_URL || "") + row.images[0],
|
|
190
|
+
alt: "Product",
|
|
191
|
+
class: "w-3r h-3r radius-small bg-light object-fit-cover"
|
|
192
|
+
}, null, 8, _hoisted_5)) : (vue.openBlock(), vue.createBlock(PlaceholderImage.default, {
|
|
193
|
+
key: 1,
|
|
194
|
+
class: "w-3r h-3r radius-small"
|
|
195
|
+
})),
|
|
196
|
+
vue.createElementVNode("p", _hoisted_6, vue.toDisplayString(row.name || "Unknown Product"), 1)
|
|
197
|
+
])
|
|
198
|
+
]),
|
|
199
|
+
"cell-category": vue.withCtx(({ row }) => [
|
|
200
|
+
vue.createElementVNode("div", _hoisted_7, [
|
|
201
|
+
row.category?.length ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(row.category, (cat) => {
|
|
202
|
+
return vue.openBlock(), vue.createElementBlock("p", {
|
|
203
|
+
key: cat._id,
|
|
204
|
+
class: "w-max t-trim pd-small mn-r-micro radius-small bg-light t-small"
|
|
205
|
+
}, vue.toDisplayString(cat.name), 1);
|
|
206
|
+
}), 128)) : (vue.openBlock(), vue.createElementBlock("p", _hoisted_8, "-"))
|
|
236
207
|
])
|
|
237
|
-
])
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
vue.
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
208
|
+
]),
|
|
209
|
+
"cell-storages": vue.withCtx(({ row }) => [
|
|
210
|
+
vue.createElementVNode("div", _hoisted_9, [
|
|
211
|
+
row.availabilityDetails?.length ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(row.availabilityDetails, (avail) => {
|
|
212
|
+
return vue.openBlock(), vue.createElementBlock("p", {
|
|
213
|
+
key: avail._id,
|
|
214
|
+
class: "w-max t-trim pd-small mn-r-micro radius-small bg-light t-small"
|
|
215
|
+
}, [
|
|
216
|
+
vue.createElementVNode("span", _hoisted_10, vue.toDisplayString(avail.available || 0), 1),
|
|
217
|
+
_cache[13] || (_cache[13] = vue.createTextVNode(" · ")),
|
|
218
|
+
vue.createElementVNode("span", _hoisted_11, vue.toDisplayString(avail.storageName || avail.storage) + ":", 1)
|
|
219
|
+
]);
|
|
220
|
+
}), 128)) : (vue.openBlock(), vue.createElementBlock("p", _hoisted_12, "No stock"))
|
|
221
|
+
])
|
|
222
|
+
]),
|
|
223
|
+
"cell-available": vue.withCtx(({ row }) => [
|
|
224
|
+
vue.createElementVNode("div", _hoisted_13, [
|
|
225
|
+
vue.createElementVNode("span", _hoisted_14, vue.toDisplayString(row.available) + " · " + vue.toDisplayString(row.available <= 5 ? "Low" : row.available <= 10 ? "Medium" : "High"), 1),
|
|
226
|
+
vue.createElementVNode("div", _hoisted_15, [
|
|
227
|
+
vue.createElementVNode("div", {
|
|
228
|
+
class: vue.normalizeClass([
|
|
229
|
+
"h-100 radius-thin",
|
|
230
|
+
row.available <= 1 ? "bg-red t-white" : row.available <= 2 ? "bg-orange t-white" : "bg-green t-white"
|
|
231
|
+
]),
|
|
232
|
+
style: vue.normalizeStyle(`width: ${Math.min(
|
|
233
|
+
row.available / (row.alert !== void 0 ? row.alert : 50) * 100,
|
|
234
|
+
100
|
|
235
|
+
)}%`)
|
|
236
|
+
}, null, 6)
|
|
262
237
|
])
|
|
263
|
-
])
|
|
264
|
-
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
238
|
+
])
|
|
239
|
+
]),
|
|
240
|
+
"cell-price": vue.withCtx(({ row }) => [
|
|
241
|
+
vue.createTextVNode(vue.toDisplayString(vue.unref(formatPrice)(row.price || 0)), 1)
|
|
242
|
+
]),
|
|
243
|
+
"cell-actions": vue.withCtx(({ row }) => [
|
|
244
|
+
vue.createVNode(Dropdown.default, {
|
|
245
|
+
label: { component: IconEllipsis.default, class: "t-transp i-medium" },
|
|
246
|
+
class: "cursor-pointer aspect-1x1 pd-nano radius-small hover-bg-light",
|
|
247
|
+
align: "right"
|
|
248
|
+
}, {
|
|
249
|
+
default: vue.withCtx(() => [
|
|
250
|
+
vue.createElementVNode("div", _hoisted_16, [
|
|
251
|
+
vue.createElementVNode("button", {
|
|
252
|
+
onClick: ($event) => openStockAudit(row),
|
|
253
|
+
class: "cursor-pointer t-left t-nowrap w-100 pd-small"
|
|
254
|
+
}, " Audit Stock ", 8, _hoisted_17),
|
|
255
|
+
vue.createElementVNode("button", {
|
|
256
|
+
onClick: ($event) => openStockHistory(row),
|
|
257
|
+
class: "cursor-pointer t-left t-nowrap w-100 pd-small"
|
|
258
|
+
}, " Stock History ", 8, _hoisted_18),
|
|
259
|
+
vue.createElementVNode("button", {
|
|
260
|
+
onClick: ($event) => openReorderSettings(row),
|
|
261
|
+
class: "cursor-pointer t-left t-nowrap w-100 pd-small"
|
|
262
|
+
}, " Set Alerts ", 8, _hoisted_19)
|
|
263
|
+
])
|
|
264
|
+
]),
|
|
265
|
+
_: 2
|
|
266
|
+
}, 1032, ["label"])
|
|
267
|
+
]),
|
|
268
|
+
_: 2
|
|
269
|
+
}, 1032, ["columns", "items"])
|
|
270
|
+
]),
|
|
271
|
+
_: 1
|
|
272
|
+
}, 8, ["filter", "sort", "store", "actions", "options"])
|
|
273
|
+
]),
|
|
272
274
|
vue.createVNode(Popup.default, {
|
|
273
275
|
isPopupOpen: showAuditModal.value,
|
|
274
276
|
onClosePopup: _cache[5] || (_cache[5] = ($event) => showAuditModal.value = false),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Inventory.vue.cjs","sources":["../../../../../../../src/modules/inventory/components/pages/Inventory.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin\">\n <!-- Header -->\n <header class=\"mn-b-medium flex-v-center flex-nowrap flex\">\n <h2>Inventory</h2>\n <button\n v-if=\"route.meta.context === 'backoffice'\"\n @click=\"router.push({ name: 'BackofficeInventoryAudit' })\"\n class=\"mn-l-small radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\"\n v-html=\"'+'\"\n />\n <button\n v-if=\"route.meta.context === 'organization'\"\n @click=\"router.push({ name: 'OrganizationInventoryAudit', params: { _id: route.params._id } })\"\n class=\"mn-l-small radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\"\n v-html=\"'+'\"\n />\n </header>\n\n <!-- Products Feed -->\n <Feed\n :search=\"true\"\n v-model:filter=\"filter\"\n v-model:sort=\"sort\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: products.state\n }\"\n :actions=\"[{\n key: 'settings',\n component: IconSettings,\n props: {\n class: 'h-3r pd-r-small pd-l-small flex-center flex bg-light t-black radius-small hover-scale-1 cursor-pointer'\n },\n handler: openViewSettings\n }]\"\n :options=\"{\n limit: 15,\n lookup: ['inventory','categories'],\n owner: route.params._id,\n sortParam: sort.param,\n sortOrder: sort.order\n }\"\n v-slot=\"{ items }\"\n >\n <Table\n :columns=\"columns.filter(col => col.visible)\"\n :items=\"items\"\n class=\"bg-white z-index-1 br-solid br-1px br-light radius-medium\"\n >\n <!-- Name column (was \"product\") -->\n <template #cell-name=\"{ row }\">\n <div class=\"flex gap-small flex-nowrap flex-v-center\">\n <img\n v-if=\"row.images?.length\"\n :src=\"(FILE_SERVER_URL || '') + row.images[0]\"\n alt=\"Product\"\n class=\"w-3r h-3r radius-small bg-light object-fit-cover\"\n />\n <PlaceholderImage v-else class=\"w-3r h-3r radius-small\" />\n <span class=\"t-nowrap\">{{ row.name || 'Unknown Product' }}</span>\n </div>\n </template>\n\n <!-- Categories -->\n <template #cell-category=\"{ row }\">\n <span\n v-if=\"row.category?.length\"\n v-for=\"cat in row.category\"\n :key=\"cat._id\"\n class=\"pd-nano mn-r-micro pd-r-small pd-l-small radius-small bg-light t-small\"\n >\n {{ cat.name }}\n </span>\n <span v-else>-</span>\n </template>\n\n <!-- Storages -->\n <template #cell-storages=\"{ row }\">\n <div v-if=\"row.availabilityDetails?.length\" class=\"flex flex-column gap-micro\">\n <div \n v-for=\"avail in row.availabilityDetails\" \n :key=\"avail._id\"\n class=\"flex gap-small flex-v-center\"\n >\n <span class=\"t-small\">{{ avail.storageName || avail.storage }}:</span>\n <span class=\"t-medium\">{{ avail.available || 0 }}</span>\n </div>\n </div>\n <span v-else class=\"t-transp\">No stock</span>\n </template>\n\n <!-- Available (replaces stock) -->\n <template #cell-available=\"{ row }\">\n <div class=\"flex-column flex\">\n <span class=\"d-block mn-b-thin\">\n {{ row.available }} ·\n {{ row.available <= 5 ? 'Low' : row.available <= 10 ? 'Medium' : 'High' }}\n </span>\n <div class=\"w-100 h-micro radius-thin bg-light\">\n <div\n class=\"h-100 radius-thin\"\n :class=\"\n row.available <= 1\n ? 'bg-red t-white'\n : row.available <= 2\n ? 'bg-orange t-white'\n : 'bg-green t-white'\n \"\n :style=\"`width: ${\n Math.min(\n (row.available / (row.alert !== undefined ? row.alert : 50)) * 100,\n 100\n )\n }%`\"\n />\n </div>\n </div>\n </template>\n <!-- Price -->\n <template #cell-price=\"{ row }\">\n {{ formatPrice(row.price || 0) }}\n </template>\n\n <!-- Actions -->\n <template #cell-actions=\"{ row }\">\n <Dropdown\n :label=\"{ component: IconEllipsis, class: 't-transp i-medium' }\"\n class=\"cursor-pointer aspect-1x1 pd-nano radius-small hover-bg-light\"\n align=\"right\"\n >\n <div class=\"bg-white radius-small\">\n <button @click=\"openStockAudit(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Audit Stock\n </button>\n <button @click=\"openStockHistory(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Stock History\n </button>\n <button @click=\"openReorderSettings(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Set Alerts\n </button>\n </div>\n </Dropdown>\n </template>\n </Table>\n </Feed>\n\n <!-- Modals -->\n <Popup\n :isPopupOpen=\"showAuditModal\"\n @close-popup=\"showAuditModal = false\"\n title=\"Audit Stock\"\n class=\"bg-white radius-medium pd-medium w-min-40r\"\n >\n <AdjustmentForm\n :product=\"selectedProduct\"\n @close=\"showAuditModal = false\"\n @save=\"handleAuditSave\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showReorderModal\"\n @close-popup=\"showReorderModal = false\"\n title=\"Stock Level Alerts\"\n class=\"bg-white radius-medium pd-medium w-min-30r\"\n >\n <StockAlertsForm\n :product=\"selectedProduct\"\n @close=\"showReorderModal = false\"\n @save=\"handleAlertSave\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showHistoryModal\"\n @close-popup=\"showHistoryModal = false\"\n title=\"Stock History\"\n class=\"bg-white radius-medium pd-medium w-min-50r\"\n >\n <HistoryView\n :product=\"selectedProduct\"\n @close=\"showHistoryModal = false\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showSettingsModal\"\n @close-popup=\"showSettingsModal = false\"\n title=\"View Settings\"\n class=\"bg-white radius-medium pd-medium w-min-30r\"\n >\n <ColumnSettingsMenu\n :columns=\"columns\"\n @save=\"handleColumnsUpdate\"\n @close=\"showSettingsModal = false\"\n />\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, reactive } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js'\n\n// Components\nimport Table from '@martyrs/src/components/Table/Table.vue'\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\nimport Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\n\n// Icons\nimport IconSettings from '@martyrs/src/modules/icons/entities/IconSettings.vue'\nimport IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue'\n\n// Forms\nimport AdjustmentForm from '../forms/AdjustmentForm.vue'\nimport StockAlertsForm from '../forms/StockAlertsForm.vue'\nimport HistoryView from '../forms/HistoryView.vue'\nimport ColumnSettingsMenu from '../forms/ColumnSettingsMenu.vue'\n\n// Stores\nimport * as inventory from '@martyrs/src/modules/inventory/store/ inventory.store.js'\nimport * as products from '@martyrs/src/modules/products/store/products.js'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport stockAlerts from '@martyrs/src/modules/inventory/store/stock.alerts.store.js'\n\n// Router\nconst route = useRoute()\nconst router = useRouter()\nconst { formatPrice } = useGlobalMixins()\n\n// Feed controls\nconst sort = ref({\n param: 'available',\n order: 'asc',\n options: [\n { label: 'Available', value: 'available' },\n { label: 'Name', value: 'name' },\n { label: 'Price', value: 'price' },\n { label: 'Created', value: 'createdAt' }\n ]\n})\n\nconst filter = reactive({\n active: false,\n class: '',\n selected: { category: [], stockLevel: [] },\n options: [\n { title: 'Categories', value: 'category', options: [] },\n {\n title: 'Stock Level',\n value: 'stockLevel',\n options: [\n { label: 'Low', value: 'low' },\n { label: 'Medium', value: 'medium' },\n { label: 'High', value: 'high' }\n ]\n }\n ]\n})\n\n// Column definitions + visibility, combined into one\nconst columns = reactive([\n { key: 'name', label: 'Product Name', component: true, visible: true },\n { key: 'category', label: 'Categories', component: true, visible: true },\n { key: 'storages', label: 'Storages', component: true, visible: true },\n { key: 'available',label: 'Total Available', component: true, visible: true },\n { key: 'price', label: 'Unit Price', component: true, visible: true },\n { key: 'actions', label: '', component: true, visible: true }\n])\n\n// Modal & selection state\nconst showAuditModal = ref(false)\nconst showReorderModal = ref(false)\nconst showHistoryModal = ref(false)\nconst showSettingsModal = ref(false)\nconst selectedProduct = ref(null)\n\n// Handlers\nfunction openStockAudit(row) {\n selectedProduct.value = row\n showAuditModal.value = true\n}\nfunction openReorderSettings(row = null) {\n selectedProduct.value = row\n showReorderModal.value = true\n}\nfunction openStockHistory(row) {\n selectedProduct.value = row\n showHistoryModal.value = true\n}\nfunction openViewSettings() {\n showSettingsModal.value = true\n}\nasync function handleAuditSave(adjustmentData) {\n try {\n await inventory.actions.createAdjustment({\n ...adjustmentData,\n owner: {\n type: 'organization',\n target: route.params._id\n },\n creator: {\n type: 'user',\n target: auth.state.user._id\n }\n })\n showAuditModal.value = false\n } catch (err) {\n console.error(err)\n }\n}\nasync function handleAlertSave(alertData) {\n try {\n await stockAlerts.create(alertData)\n showReorderModal.value = false\n } catch (err) {\n console.error('Error saving alert:', err)\n }\n}\nfunction handleColumnsUpdate(updated) {\n // Update column visibility\n columns.forEach(col => {\n col.visible = updated.includes(col.key)\n })\n showSettingsModal.value = false\n}\n</script>\n\n<style>\n.bg-orange {\n background-color: rgb(var(--orange));\n}\n</style>\n"],"names":["useRoute","useRouter","useGlobalMixins","ref","reactive","inventory.actions","auth.state","stockAlerts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Inventory.vue.cjs","sources":["../../../../../../../src/modules/inventory/components/pages/Inventory.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin\">\n <!-- Header -->\n <header class=\"mn-b-medium flex-v-center flex-nowrap flex\">\n <h2>Inventory</h2>\n <button\n v-if=\"route.meta.context === 'backoffice'\"\n @click=\"router.push({ name: 'BackofficeInventoryAudit' })\"\n class=\"mn-l-small radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\"\n v-html=\"'+'\"\n />\n <button\n v-if=\"route.meta.context === 'organization'\"\n @click=\"router.push({ name: 'OrganizationInventoryAudit', params: { _id: route.params._id } })\"\n class=\"mn-l-small radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\"\n v-html=\"'+'\"\n />\n </header>\n\n <!-- Products Feed -->\n <div class=\"rows-1\">\n <Feed\n :search=\"true\"\n v-model:filter=\"filter\"\n v-model:sort=\"sort\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: products.state\n }\"\n :actions=\"[{\n key: 'settings',\n component: IconSettings,\n props: {\n class: 'h-3r pd-r-small pd-l-small flex-center flex bg-light t-black radius-small hover-scale-1 cursor-pointer'\n },\n handler: openViewSettings\n }]\"\n :options=\"{\n limit: 15,\n lookup: ['inventory','categories'],\n owner: route.params._id,\n sortParam: sort.param,\n sortOrder: sort.order\n }\"\n v-slot=\"{ items }\"\n >\n <Table\n :columns=\"columns.filter(col => col.visible)\"\n :items=\"items\"\n class=\"bg-white z-index-1 br-solid br-1px br-light radius-medium\"\n >\n <!-- Name column (was \"product\") -->\n <template #cell-name=\"{ row }\">\n <div class=\"w-max-20r t-trim flex gap-small flex-nowrap flex-v-center\">\n <img\n v-if=\"row.images?.length\"\n :src=\"(FILE_SERVER_URL || '') + row.images[0]\"\n alt=\"Product\"\n class=\"w-3r h-3r radius-small bg-light object-fit-cover\"\n />\n <PlaceholderImage v-else class=\"w-3r h-3r radius-small\" />\n <p class=\"t-trim t-nowrap\">{{ row.name || 'Unknown Product' }}</p>\n </div>\n </template>\n\n <!-- Categories -->\n <template #cell-category=\"{ row }\">\n <div class=\"w-max-10r flex-nowrap flex t-trim\">\n <p\n v-if=\"row.category?.length\"\n v-for=\"cat in row.category\"\n :key=\"cat._id\"\n class=\"w-max t-trim pd-small mn-r-micro radius-small bg-light t-small\"\n >\n {{ cat.name }}\n </p>\n <p v-else>-</p>\n </div>\n </template>\n\n <!-- Storages -->\n <template #cell-storages=\"{ row }\">\n <div class=\"w-max-10r flex-nowrap flex t-trim\">\n <p\n v-if=\"row.availabilityDetails?.length\"\n v-for=\"avail in row.availabilityDetails\" \n :key=\"avail._id\"\n class=\"w-max t-trim pd-small mn-r-micro radius-small bg-light t-small\"\n >\n\n <span class=\"t-medium\">{{ avail.available || 0 }}</span> · \n <span class=\"t-small\">{{ avail.storageName || avail.storage }}:</span>\n </p>\n <p v-else>No stock</p>\n </div>\n </template>\n\n <!-- Available (replaces stock) -->\n <template #cell-available=\"{ row }\">\n <div class=\"flex-column flex\">\n <span class=\"d-block mn-b-thin\">\n {{ row.available }} ·\n {{ row.available <= 5 ? 'Low' : row.available <= 10 ? 'Medium' : 'High' }}\n </span>\n <div class=\"w-100 h-micro radius-thin bg-light\">\n <div\n class=\"h-100 radius-thin\"\n :class=\"\n row.available <= 1\n ? 'bg-red t-white'\n : row.available <= 2\n ? 'bg-orange t-white'\n : 'bg-green t-white'\n \"\n :style=\"`width: ${\n Math.min(\n (row.available / (row.alert !== undefined ? row.alert : 50)) * 100,\n 100\n )\n }%`\"\n />\n </div>\n </div>\n </template>\n <!-- Price -->\n <template #cell-price=\"{ row }\">\n {{ formatPrice(row.price || 0) }}\n </template>\n\n <!-- Actions -->\n <template #cell-actions=\"{ row }\">\n <Dropdown\n :label=\"{ component: IconEllipsis, class: 't-transp i-medium' }\"\n class=\"cursor-pointer aspect-1x1 pd-nano radius-small hover-bg-light\"\n align=\"right\"\n >\n <div class=\"bg-white radius-small\">\n <button @click=\"openStockAudit(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Audit Stock\n </button>\n <button @click=\"openStockHistory(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Stock History\n </button>\n <button @click=\"openReorderSettings(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Set Alerts\n </button>\n </div>\n </Dropdown>\n </template>\n </Table>\n </Feed>\n </div>\n <!-- Modals -->\n <Popup\n :isPopupOpen=\"showAuditModal\"\n @close-popup=\"showAuditModal = false\"\n title=\"Audit Stock\"\n class=\"bg-white radius-medium pd-medium w-min-40r\"\n >\n <AdjustmentForm\n :product=\"selectedProduct\"\n @close=\"showAuditModal = false\"\n @save=\"handleAuditSave\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showReorderModal\"\n @close-popup=\"showReorderModal = false\"\n title=\"Stock Level Alerts\"\n class=\"bg-white radius-medium pd-medium w-min-30r\"\n >\n <StockAlertsForm\n :product=\"selectedProduct\"\n @close=\"showReorderModal = false\"\n @save=\"handleAlertSave\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showHistoryModal\"\n @close-popup=\"showHistoryModal = false\"\n title=\"Stock History\"\n class=\"bg-white radius-medium pd-medium w-min-50r\"\n >\n <HistoryView\n :product=\"selectedProduct\"\n @close=\"showHistoryModal = false\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showSettingsModal\"\n @close-popup=\"showSettingsModal = false\"\n title=\"View Settings\"\n class=\"bg-white radius-medium pd-medium w-min-30r\"\n >\n <ColumnSettingsMenu\n :columns=\"columns\"\n @save=\"handleColumnsUpdate\"\n @close=\"showSettingsModal = false\"\n />\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, reactive } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js'\n\n// Components\nimport Table from '@martyrs/src/components/Table/Table.vue'\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\nimport Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\nimport Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n\n// Icons\nimport IconSettings from '@martyrs/src/modules/icons/entities/IconSettings.vue'\nimport IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue'\n\n// Forms\nimport AdjustmentForm from '../forms/AdjustmentForm.vue'\nimport StockAlertsForm from '../forms/StockAlertsForm.vue'\nimport HistoryView from '../forms/HistoryView.vue'\nimport ColumnSettingsMenu from '../forms/ColumnSettingsMenu.vue'\n\n// Stores\nimport * as inventory from '@martyrs/src/modules/inventory/store/ inventory.store.js'\nimport * as products from '@martyrs/src/modules/products/store/products.js'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport stockAlerts from '@martyrs/src/modules/inventory/store/stock.alerts.store.js'\n\n// Router\nconst route = useRoute()\nconst router = useRouter()\nconst { formatPrice } = useGlobalMixins()\n\n// Feed controls\nconst sort = ref({\n param: 'available',\n order: 'asc',\n options: [\n { label: 'Available', value: 'available' },\n { label: 'Name', value: 'name' },\n { label: 'Price', value: 'price' },\n { label: 'Created', value: 'createdAt' }\n ]\n})\n\nconst filter = reactive({\n active: false,\n class: '',\n selected: { category: [], stockLevel: [] },\n options: [\n { title: 'Categories', value: 'category', options: [] },\n {\n title: 'Stock Level',\n value: 'stockLevel',\n options: [\n { label: 'Low', value: 'low' },\n { label: 'Medium', value: 'medium' },\n { label: 'High', value: 'high' }\n ]\n }\n ]\n})\n\n// Column definitions + visibility, combined into one\nconst columns = reactive([\n { key: 'name', label: 'Product Name', component: true, visible: true },\n { key: 'category', label: 'Categories', component: true, visible: true },\n { key: 'storages', label: 'Storages', component: true, visible: true },\n { key: 'available',label: 'Total Available', component: true, visible: true },\n { key: 'price', label: 'Unit Price', component: true, visible: true },\n { key: 'actions', label: '', component: true, visible: true }\n])\n\n// Modal & selection state\nconst showAuditModal = ref(false)\nconst showReorderModal = ref(false)\nconst showHistoryModal = ref(false)\nconst showSettingsModal = ref(false)\nconst selectedProduct = ref(null)\n\n// Handlers\nfunction openStockAudit(row) {\n selectedProduct.value = row\n showAuditModal.value = true\n}\nfunction openReorderSettings(row = null) {\n selectedProduct.value = row\n showReorderModal.value = true\n}\nfunction openStockHistory(row) {\n selectedProduct.value = row\n showHistoryModal.value = true\n}\nfunction openViewSettings() {\n showSettingsModal.value = true\n}\nasync function handleAuditSave(adjustmentData) {\n try {\n await inventory.actions.createAdjustment({\n ...adjustmentData,\n owner: {\n type: 'organization',\n target: route.params._id\n },\n creator: {\n type: 'user',\n target: auth.state.user._id\n }\n })\n showAuditModal.value = false\n } catch (err) {\n console.error(err)\n }\n}\nasync function handleAlertSave(alertData) {\n try {\n await stockAlerts.create(alertData)\n showReorderModal.value = false\n } catch (err) {\n console.error('Error saving alert:', err)\n }\n}\nfunction handleColumnsUpdate(updated) {\n // Update column visibility\n columns.forEach(col => {\n col.visible = updated.includes(col.key)\n })\n showSettingsModal.value = false\n}\n</script>\n\n<style>\n.bg-orange {\n background-color: rgb(var(--orange));\n}\n</style>\n"],"names":["useRoute","useRouter","useGlobalMixins","ref","reactive","inventory.actions","auth.state","stockAlerts"],"mappings":"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"}
|