@ozdao/martyrs 0.2.540 → 0.2.541

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.
Files changed (264) hide show
  1. package/dist/{globals.verifier-CJ1lr-NW.cjs → globals.verifier-Bi-XLEi9.cjs} +24 -23
  2. package/dist/{globals.verifier-BhqUrneb.js → globals.verifier-gPPX_jhf.js} +24 -23
  3. package/dist/inventory.server.cjs +1 -1
  4. package/dist/inventory.server.js +1 -1
  5. package/dist/{main-Zhs0EqRp.cjs → main-7IA3UHca.cjs} +6 -6
  6. package/dist/{main-gOfhekZG.js → main-BpBtIUcJ.js} +549 -549
  7. package/dist/martyrs/src/components/Button/{Button.vue2.cjs → Button.vue.cjs} +2 -2
  8. package/dist/martyrs/src/components/Button/{Button.vue2.js.map → Button.vue.cjs.map} +1 -1
  9. package/dist/martyrs/src/components/Button/{Button.vue2.js → Button.vue.js} +2 -2
  10. package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -0
  11. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  12. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
  13. package/dist/martyrs/src/components/FieldTags/create-tags.cjs +11 -2
  14. package/dist/martyrs/src/components/FieldTags/create-tags.cjs.map +1 -1
  15. package/dist/martyrs/src/components/FieldTags/create-tags.js +11 -2
  16. package/dist/martyrs/src/components/FieldTags/create-tags.js.map +1 -1
  17. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue2.cjs → Spoiler.vue.cjs} +2 -2
  18. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue2.js.map → Spoiler.vue.cjs.map} +1 -1
  19. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue2.js → Spoiler.vue.js} +2 -2
  20. package/dist/martyrs/src/components/Spoiler/Spoiler.vue.js.map +1 -0
  21. package/dist/martyrs/src/components/Tab/{Tab.vue2.cjs → Tab.vue.cjs} +2 -2
  22. package/dist/martyrs/src/components/Tab/{Tab.vue2.js.map → Tab.vue.cjs.map} +1 -1
  23. package/dist/martyrs/src/components/Tab/{Tab.vue2.js → Tab.vue.js} +2 -2
  24. package/dist/martyrs/src/components/Tab/Tab.vue.js.map +1 -0
  25. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +2 -2
  26. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
  27. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +2 -2
  28. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +2 -2
  29. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +1 -1
  30. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -1
  31. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
  32. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  33. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
  34. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  35. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
  36. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
  37. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +2 -2
  38. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +2 -2
  39. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +2 -2
  40. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +2 -2
  41. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +2 -2
  42. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +2 -2
  43. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  44. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  45. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  46. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  47. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  48. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  49. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  50. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  51. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  52. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  53. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  54. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
  55. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  56. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  57. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
  58. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  59. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
  60. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +1 -1
  61. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
  62. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
  63. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +1 -1
  64. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +1 -1
  65. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
  66. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
  67. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
  68. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
  69. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  70. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  71. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  72. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  73. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  74. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  75. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
  76. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
  77. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs +1 -1
  78. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js +1 -1
  79. package/dist/martyrs/src/modules/globals/views/store/globals.cjs +2 -2
  80. package/dist/martyrs/src/modules/globals/views/store/globals.cjs.map +1 -1
  81. package/dist/martyrs/src/modules/globals/views/store/globals.js +2 -2
  82. package/dist/martyrs/src/modules/globals/views/store/globals.js.map +1 -1
  83. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
  85. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.cjs +1 -1
  86. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
  87. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.cjs +1 -1
  88. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
  89. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
  90. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
  91. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +1 -1
  92. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +1 -1
  93. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs +1 -1
  94. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +1 -1
  95. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +1 -1
  96. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +1 -1
  97. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +1 -1
  98. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
  99. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs +1 -1
  100. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
  101. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +1 -1
  102. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
  103. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
  104. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
  105. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +1 -1
  106. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +1 -1
  107. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +1 -1
  108. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
  109. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +1 -1
  110. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
  111. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
  113. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +1 -1
  114. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +1 -1
  115. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +1 -1
  116. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +1 -1
  117. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +1 -1
  118. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +1 -1
  119. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +1 -1
  120. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
  121. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +1 -1
  122. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +1 -1
  123. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +1 -1
  125. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +1 -1
  126. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +1 -1
  127. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
  128. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  129. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +1 -1
  130. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
  131. package/dist/martyrs/src/modules/notifications/components/pages/Notifications.vue.cjs +1 -1
  132. package/dist/martyrs/src/modules/notifications/components/pages/Notifications.vue.js +1 -1
  133. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +1 -1
  134. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +1 -1
  135. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +1 -1
  136. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +1 -1
  137. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +1 -1
  138. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +1 -1
  139. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  140. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  141. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
  142. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  143. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +2 -2
  144. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
  145. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
  146. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
  147. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs +1 -1
  148. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
  149. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs +1 -1
  150. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
  151. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +4 -4
  152. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +4 -4
  153. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  154. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  155. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +1 -1
  156. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
  157. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +2 -2
  158. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +2 -2
  159. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +1 -1
  160. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
  161. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +4 -4
  162. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +4 -4
  163. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +4 -4
  164. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +4 -4
  165. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +3 -3
  166. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +3 -3
  167. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
  168. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  169. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  170. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  171. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  172. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  173. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  174. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  175. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -2
  176. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
  177. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  178. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  179. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  180. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  181. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  182. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  183. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +1 -1
  184. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +1 -1
  185. package/dist/martyrs/src/modules/products/components/elements/{THC.vue2.cjs → THC.vue.cjs} +2 -2
  186. package/dist/martyrs/src/modules/products/components/elements/THC.vue.cjs.map +1 -0
  187. package/dist/martyrs/src/modules/products/components/elements/{THC.vue2.js → THC.vue.js} +2 -2
  188. package/dist/martyrs/src/modules/products/components/elements/THC.vue.js.map +1 -0
  189. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  190. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  191. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +17 -1
  192. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
  193. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +17 -1
  194. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  195. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +2 -2
  196. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
  197. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
  198. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
  199. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +2 -2
  200. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +2 -2
  201. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
  202. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  203. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +1 -1
  204. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +1 -1
  205. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +1 -1
  206. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
  207. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs +1 -1
  208. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
  209. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
  210. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  211. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
  212. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  213. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +3 -3
  214. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +3 -3
  215. package/dist/martyrs/src/modules/products/store/categories.cjs +4 -0
  216. package/dist/martyrs/src/modules/products/store/categories.cjs.map +1 -1
  217. package/dist/martyrs/src/modules/products/store/categories.js +4 -0
  218. package/dist/martyrs/src/modules/products/store/categories.js.map +1 -1
  219. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +2 -2
  220. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +2 -2
  221. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +1 -1
  222. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  223. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  224. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  225. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  226. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  227. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  228. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  229. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs +1 -1
  230. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +1 -1
  231. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  232. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  233. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
  234. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
  235. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +1 -1
  236. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +1 -1
  237. package/dist/martyrs.cjs.js +1 -1
  238. package/dist/martyrs.es.js +1 -1
  239. package/dist/music.server.cjs +1 -1
  240. package/dist/music.server.js +1 -1
  241. package/dist/orders.server.cjs +1 -1
  242. package/dist/orders.server.js +1 -1
  243. package/dist/organizations.server.cjs +1 -1
  244. package/dist/organizations.server.js +1 -1
  245. package/dist/products.server.cjs +10 -2
  246. package/dist/products.server.js +10 -2
  247. package/dist/rents.server.cjs +1 -1
  248. package/dist/rents.server.js +1 -1
  249. package/dist/{web-bMa0DMyG.cjs → web-C9bVm6Nw.cjs} +1 -1
  250. package/dist/{web-DxxU2bwy.js → web-DsdyXC8n.js} +1 -1
  251. package/package.json +1 -1
  252. package/src/components/FieldTags/FieldTagsNew.vue +366 -0
  253. package/src/components/FieldTags/README.md +513 -0
  254. package/src/components/FieldTags/create-tags.js +15 -2
  255. package/src/modules/globals/controllers/classes/globals.validator.js +24 -23
  256. package/src/modules/globals/views/store/globals.js +2 -2
  257. package/src/modules/products/components/pages/CategoryEdit.vue +20 -0
  258. package/src/modules/products/middlewares/categories.verifier.js +9 -1
  259. package/src/modules/products/store/categories.js +5 -0
  260. package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +0 -1
  261. package/dist/martyrs/src/components/Spoiler/Spoiler.vue2.cjs.map +0 -1
  262. package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +0 -1
  263. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.cjs.map +0 -1
  264. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock, createCommentVNode, openBlock, createElementVNode, toDisplayString } from "vue";
2
- /* empty css */
2
+ /* empty css */
3
3
  const _hoisted_1 = {
4
4
  key: 0,
5
5
  class: "thc"
@@ -86,4 +86,4 @@ const _sfc_main = {
86
86
  export {
87
87
  _sfc_main as default
88
88
  };
89
- //# sourceMappingURL=THC.vue2.js.map
89
+ //# sourceMappingURL=THC.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"THC.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -6,7 +6,7 @@ const globals = require("../../../globals/views/store/globals.cjs");
6
6
  const auth = require("../../../auth/views/store/auth.cjs");
7
7
  const categories = require("../../store/categories.cjs");
8
8
  ;/* empty css */
9
- ;/* empty css */
9
+ ;/* empty css */
10
10
  const Block = require("../../../../components/Block/Block.vue.cjs");
11
11
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
12
12
  const Tree = require("../../../../components/Tree/Tree.vue.cjs");
@@ -4,7 +4,7 @@ import { state as state$1 } from "../../../globals/views/store/globals.js";
4
4
  import { state } from "../../../auth/views/store/auth.js";
5
5
  import { state as state$2, actions } from "../../store/categories.js";
6
6
  /* empty css */
7
- /* empty css */
7
+ /* empty css */
8
8
  import _sfc_main$2 from "../../../../components/Block/Block.vue.js";
9
9
  import _sfc_main$3 from "../../../../components/Feed/Feed.vue.js";
10
10
  import _sfc_main$4 from "../../../../components/Tree/Tree.vue.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 IconDelete = require("../../../icons/navigation/IconDelete.vue.cjs");
6
- const Button = require("../../../../components/Button/Button.vue2.cjs");
6
+ const Button = require("../../../../components/Button/Button.vue.cjs");
7
7
  const Select = require("../../../../components/Select/Select.vue.cjs");
8
8
  const UploadImage = require("../../../../components/UploadImage/UploadImage.vue.cjs");
9
9
  const Field = require("../../../../components/Field/Field.vue.cjs");
@@ -72,6 +72,14 @@ const _sfc_main = {
72
72
  type: categories.state.current.owner.type,
73
73
  target: typeof categories.state.current.owner.target === "object" ? categories.state.current.owner.target._id : categories.state.current.owner.target
74
74
  };
75
+ if (categories.state.current.filters) {
76
+ categories.state.current.filters = categories.state.current.filters.map((filter) => ({
77
+ ...filter,
78
+ options: filter.options ? filter.options.map(
79
+ (opt) => typeof opt === "string" ? opt : opt.text
80
+ ) : []
81
+ }));
82
+ }
75
83
  await categories.actions.update(categories.state.current);
76
84
  redirectTo();
77
85
  } else {
@@ -85,6 +93,14 @@ const _sfc_main = {
85
93
  hidden: false,
86
94
  target: route.params._id ? route.params._id : null
87
95
  };
96
+ if (categories.state.current.filters) {
97
+ categories.state.current.filters = categories.state.current.filters.map((filter) => ({
98
+ ...filter,
99
+ options: filter.options ? filter.options.map(
100
+ (opt) => typeof opt === "string" ? opt : opt.text
101
+ ) : []
102
+ }));
103
+ }
88
104
  await categories.actions.create(categories.state.current);
89
105
  redirectTo();
90
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryEdit.vue.cjs","sources":["../../../../../../../src/modules/products/components/pages/CategoryEdit.vue"],"sourcesContent":["<template>\n <div v-if=\"!isLoading\" class=\"rows-auto pd-thin bg-white for-transition w-100\">\n <Block v-if=\"!MOBILE_APP\" class=\"radius-medium mn-b-thin flex-nowrap flex-v-center flex\">\n <h1 class=\"mn-r-auto\">\n {{route.params.category ? 'Edit Category' : 'Add Category'}}\n </h1>\n\n <Button \n :submit=\"onSubmit\"\n class=\"pd-small radius-medium bg-main t-black uppercase t-medium\"\n >\n Save Category \n </Button>\n </Block>\n \n <Block \n title=\"Profile\"\n class=\"mn-b-thin\"\n >\n <div class=\"cols-auto-1fr mn-b-thin w-100 \">\n <UploadImage \n v-model:photo=\"categories.state.current.photo\"\n :uploadPath=\"'categories'\"\n class=\"aspect-1x1 h-100 o-hidden mn-r-small radius-extra\" \n />\n <Field\n v-model:field=\"categories.state.current.name\"\n label=\"Name\"\n placeholder=\"Enter category name\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n </div>\n\n <div class=\"mn-b-thin w-100 flex-nowrap gap-thin flex\">\n <Field\n v-model:field=\"categories.state.current.order\"\n label=\"Order\"\n :disabled=\"true\"\n class=\"w-40 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"categories.state.current.slug\"\n label=\"Slug\"\n placeholder=\"Enter category slug\"\n :disabled=\"route.params.category ? true : false\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n </div>\n \n <Field\n v-if=\"route.params.category\"\n v-model:field=\"categories.state.current.url\"\n label=\"URL Path\"\n :disabled=\"true\"\n class=\"w-100 bg-white radius-small pd-medium mn-b-thin\"\n />\n\n <Select \n v-model:select=\"categories.state.current.status\"\n label=\"Status\"\n :options=\"[\n 'draft', \n 'internal',\n 'published',\n 'removed'\n ]\"\n placeholder=\"Select category\"\n class=\"pos-relative w-100 bg-white radius-small pd-medium\"\n />\n\n <!-- <div class=\"flex-v-center flex-nowrap flex\">\n <h4 class=\"mn-r-thin t-medium\">Localization</h4>\n \n <button \n @click=\"() => categories.state.current.translations.push({locale: '', text: ''})\" \n class=\"i-small pd-thin button-delete button\"\n >\n +\n </button>\n </div> -->\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.translations\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.locale\"\n placeholder=\"Locale\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"item.text\"\n placeholder=\"Text\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.translations.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div>\n\n \n </Block>\n <!-- Filters -->\n <Block\n title=\"Filters\"\n placeholder=\"No filters added yet\"\n :actions=\"[{\n label: '+',\n function: () => categories.state.current.filters.push({name: '', options: []})\n }]\"\n >\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.filters\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.name\"\n placeholder=\"Filter name\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <FieldTags\n v-model:tags=\"item.options\"\n placeholder=\"Add filter options\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.filters.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div> \n </Block>\n </div>\n \n</template>\n\n<script setup>\n // Import libs\n import { computed, onUnmounted, onMounted, ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n \n import IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Select from \"@martyrs/src/components/Select/Select.vue\";\n import UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\n import Field from \"@martyrs/src/components/Field/Field.vue\";\n import FieldTags from \"@martyrs/src/components/FieldTags/FieldTags.vue\";\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n\n import Block from '@martyrs/src/components/Block/Block.vue';\n\n import IconCheckmark from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue'\n\n // Import the new store structure\n import * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'; \n import * as categories from '@martyrs/src/modules/products/store/categories.js';\n\n const route = useRoute()\n const router = useRouter()\n\n const emits = defineEmits(['page-loading', 'page-loaded']);\n\n // Data prefetching\n const isLoading = ref(true)\n onMounted(async () => {\n emits('page-loading');\n if (route.params.category) {\n await categories.actions.read({_id: route.params.category})\n } else {\n categories.actions.clean() // Adjusted based on the new store's method to reset the category state\n }\n\n emits('page-loaded');\n isLoading.value = false\n })\n\n // Accessing state\n const category = computed(() => categories.state.current)\n const routePath = computed(() => route.name)\n\n // Navigation Bar\n globals.state.navigation_bar.actions = [{\n component: IconCheckmark,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => onSubmit()\n }],\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n\n\n // Functions\n async function onSubmit() {\n if (route.params.category) {\n\n categories.state.current.creator = {\n type: categories.state.current.creator.type,\n hidden: categories.state.current.creator.hidden,\n target: typeof categories.state.current.creator.target === 'object' \n ? categories.state.current.creator.target._id \n : categories.state.current.creator.target\n }\n\n categories.state.current.owner = {\n type: categories.state.current.owner.type,\n target: typeof categories.state.current.owner.target === 'object' \n ? categories.state.current.owner.target._id \n : categories.state.current.owner.target\n }\n\n await categories.actions.update(categories.state.current)\n\n redirectTo()\n } else {\n\n categories.state.current.creator = {\n type: 'user',\n hidden: false,\n target: auth.state.user._id\n }\n\n categories.state.current.owner = {\n type: route.params._id ? 'organization' : 'platform',\n hidden: false,\n target: route.params._id ? route.params._id : null\n }\n\n await categories.actions.create(categories.state.current)\n redirectTo()\n }\n }\n\n function redirectTo () {\n router.push({\n name: 'Categories', \n params: { \n _id: route.params._id\n } \n })\n }\n</script>\n\n<style lang=\"scss\">\n.container {\n max-width: 100%;\n margin: auto;\n}\n\n.grid {\n \n}\n\n.square {\n aspect-ratio: 1 / 1;\n height: 100%;\n background: #ccc;\n}\n</style>\n"],"names":["useRoute","useRouter","ref","onMounted","categories.actions","computed","categories.state","globals.state","IconCheckmark","auth.state","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyKE,UAAM,QAAQA,UAAAA,SAAQ;AACtB,UAAM,SAASC,UAAAA,UAAS;AAExB,UAAM,QAAQ;AAGd,UAAM,YAAYC,IAAAA,IAAI,IAAI;AAC1BC,QAAAA,UAAU,YAAY;AACpB,YAAM,cAAc;AACpB,UAAI,MAAM,OAAO,UAAU;AACzB,cAAMC,WAAAA,QAAmB,KAAK,EAAC,KAAK,MAAM,OAAO,SAAQ,CAAC;AAAA,MAC5D,OAAO;AACLA,mBAAAA,QAAmB,MAAK;AAAA,MAC1B;AAEA,YAAM,aAAa;AACnB,gBAAU,QAAQ;AAAA,IACpB,CAAC;AAGgBC,QAAAA,SAAS,MAAMC,WAAAA,MAAiB,OAAO;AACtCD,QAAAA,SAAS,MAAM,MAAM,IAAI;AAG3CE,kBAAc,eAAe,UAAU,CAAC;AAAA,MACtC,WAAWC,cAAAA;AAAAA,MACX,OAAO;AAAA,QACL,MAAM;AAAA,MACZ;AAAA,MACI,WAAW,MAAMC,KAAAA,MAAW,QAAQA,KAAAA,MAAW,KAAK;AAAA,MACpD,QAAQ,MAAM,SAAQ;AAAA,IAC1B,CAAG,GAEFC,IAAAA,YAAY,MAAM;AACfH,oBAAc,eAAe,UAAU,CAAA;AAAA,IACzC,CAAC;AAKD,mBAAe,WAAW;AACxB,UAAI,MAAM,OAAO,UAAU;AAEzBD,mBAAAA,MAAiB,QAAQ,UAAU;AAAA,UACjC,MAAMA,WAAAA,MAAiB,QAAQ,QAAQ;AAAA,UACvC,QAAQA,WAAAA,MAAiB,QAAQ,QAAQ;AAAA,UACzC,QAAQ,OAAOA,WAAAA,MAAiB,QAAQ,QAAQ,WAAW,WACvDA,WAAAA,MAAiB,QAAQ,QAAQ,OAAO,MACxCA,WAAAA,MAAiB,QAAQ,QAAQ;AAAA,QAC7C;AAEMA,mBAAAA,MAAiB,QAAQ,QAAQ;AAAA,UAC/B,MAAMA,WAAAA,MAAiB,QAAQ,MAAM;AAAA,UACrC,QAAQ,OAAOA,WAAAA,MAAiB,QAAQ,MAAM,WAAW,WACrDA,WAAAA,MAAiB,QAAQ,MAAM,OAAO,MACtCA,WAAAA,MAAiB,QAAQ,MAAM;AAAA,QAC3C;AAEM,cAAMF,WAAAA,QAAmB,OAAOE,WAAAA,MAAiB,OAAO;AAExD,mBAAU;AAAA,MACZ,OAAO;AAELA,mBAAAA,MAAiB,QAAQ,UAAU;AAAA,UACjC,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,QAAQG,KAAAA,MAAW,KAAK;AAAA,QAChC;AAEMH,mBAAAA,MAAiB,QAAQ,QAAQ;AAAA,UAC/B,MAAM,MAAM,OAAO,MAAM,iBAAiB;AAAA,UAC1C,QAAQ;AAAA,UACR,QAAQ,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM;AAAA,QACtD;AAEM,cAAMF,WAAAA,QAAmB,OAAOE,WAAAA,MAAiB,OAAO;AACxD,mBAAU;AAAA,MACZ;AAAA,IACF;AAEA,aAAS,aAAc;AACrB,aAAO,KAAK;AAAA,QACV,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,KAAK,MAAM,OAAO;AAAA,QAC1B;AAAA,MACA,CAAK;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CategoryEdit.vue.cjs","sources":["../../../../../../../src/modules/products/components/pages/CategoryEdit.vue"],"sourcesContent":["<template>\n <div v-if=\"!isLoading\" class=\"rows-auto pd-thin bg-white for-transition w-100\">\n <Block v-if=\"!MOBILE_APP\" class=\"radius-medium mn-b-thin flex-nowrap flex-v-center flex\">\n <h1 class=\"mn-r-auto\">\n {{route.params.category ? 'Edit Category' : 'Add Category'}}\n </h1>\n\n <Button \n :submit=\"onSubmit\"\n class=\"pd-small radius-medium bg-main t-black uppercase t-medium\"\n >\n Save Category \n </Button>\n </Block>\n \n <Block \n title=\"Profile\"\n class=\"mn-b-thin\"\n >\n <div class=\"cols-auto-1fr mn-b-thin w-100 \">\n <UploadImage \n v-model:photo=\"categories.state.current.photo\"\n :uploadPath=\"'categories'\"\n class=\"aspect-1x1 h-100 o-hidden mn-r-small radius-extra\" \n />\n <Field\n v-model:field=\"categories.state.current.name\"\n label=\"Name\"\n placeholder=\"Enter category name\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n </div>\n\n <div class=\"mn-b-thin w-100 flex-nowrap gap-thin flex\">\n <Field\n v-model:field=\"categories.state.current.order\"\n label=\"Order\"\n :disabled=\"true\"\n class=\"w-40 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"categories.state.current.slug\"\n label=\"Slug\"\n placeholder=\"Enter category slug\"\n :disabled=\"route.params.category ? true : false\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n </div>\n \n <Field\n v-if=\"route.params.category\"\n v-model:field=\"categories.state.current.url\"\n label=\"URL Path\"\n :disabled=\"true\"\n class=\"w-100 bg-white radius-small pd-medium mn-b-thin\"\n />\n\n <Select \n v-model:select=\"categories.state.current.status\"\n label=\"Status\"\n :options=\"[\n 'draft', \n 'internal',\n 'published',\n 'removed'\n ]\"\n placeholder=\"Select category\"\n class=\"pos-relative w-100 bg-white radius-small pd-medium\"\n />\n\n <!-- <div class=\"flex-v-center flex-nowrap flex\">\n <h4 class=\"mn-r-thin t-medium\">Localization</h4>\n \n <button \n @click=\"() => categories.state.current.translations.push({locale: '', text: ''})\" \n class=\"i-small pd-thin button-delete button\"\n >\n +\n </button>\n </div> -->\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.translations\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.locale\"\n placeholder=\"Locale\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"item.text\"\n placeholder=\"Text\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.translations.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div>\n\n \n </Block>\n <!-- Filters -->\n <Block\n title=\"Filters\"\n placeholder=\"No filters added yet\"\n :actions=\"[{\n label: '+',\n function: () => categories.state.current.filters.push({name: '', options: []})\n }]\"\n >\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.filters\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.name\"\n placeholder=\"Filter name\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <FieldTags\n v-model:tags=\"item.options\"\n placeholder=\"Add filter options\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.filters.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div> \n </Block>\n </div>\n \n</template>\n\n<script setup>\n // Import libs\n import { computed, onUnmounted, onMounted, ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n \n import IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Select from \"@martyrs/src/components/Select/Select.vue\";\n import UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\n import Field from \"@martyrs/src/components/Field/Field.vue\";\n import FieldTags from \"@martyrs/src/components/FieldTags/FieldTags.vue\";\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n\n import Block from '@martyrs/src/components/Block/Block.vue';\n\n import IconCheckmark from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue'\n\n // Import the new store structure\n import * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'; \n import * as categories from '@martyrs/src/modules/products/store/categories.js';\n\n const route = useRoute()\n const router = useRouter()\n\n const emits = defineEmits(['page-loading', 'page-loaded']);\n\n // Data prefetching\n const isLoading = ref(true)\n onMounted(async () => {\n emits('page-loading');\n if (route.params.category) {\n await categories.actions.read({_id: route.params.category})\n } else {\n categories.actions.clean() // Adjusted based on the new store's method to reset the category state\n }\n\n emits('page-loaded');\n isLoading.value = false\n })\n\n // Accessing state\n const category = computed(() => categories.state.current)\n const routePath = computed(() => route.name)\n\n // Navigation Bar\n globals.state.navigation_bar.actions = [{\n component: IconCheckmark,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => onSubmit()\n }],\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n\n\n // Functions\n async function onSubmit() {\n if (route.params.category) {\n\n categories.state.current.creator = {\n type: categories.state.current.creator.type,\n hidden: categories.state.current.creator.hidden,\n target: typeof categories.state.current.creator.target === 'object' \n ? categories.state.current.creator.target._id \n : categories.state.current.creator.target\n }\n\n categories.state.current.owner = {\n type: categories.state.current.owner.type,\n target: typeof categories.state.current.owner.target === 'object' \n ? categories.state.current.owner.target._id \n : categories.state.current.owner.target\n }\n \n // Очищаем filters от tiClasses перед отправкой\n if (categories.state.current.filters) {\n categories.state.current.filters = categories.state.current.filters.map(filter => ({\n ...filter,\n options: filter.options ? filter.options.map(opt => \n typeof opt === 'string' ? opt : opt.text\n ) : []\n }));\n }\n\n await categories.actions.update(categories.state.current)\n\n redirectTo()\n } else {\n\n categories.state.current.creator = {\n type: 'user',\n hidden: false,\n target: auth.state.user._id\n }\n\n categories.state.current.owner = {\n type: route.params._id ? 'organization' : 'platform',\n hidden: false,\n target: route.params._id ? route.params._id : null\n }\n \n // Очищаем filters от tiClasses перед отправкой\n if (categories.state.current.filters) {\n categories.state.current.filters = categories.state.current.filters.map(filter => ({\n ...filter,\n options: filter.options ? filter.options.map(opt => \n typeof opt === 'string' ? opt : opt.text\n ) : []\n }));\n }\n\n await categories.actions.create(categories.state.current)\n redirectTo()\n }\n }\n\n function redirectTo () {\n router.push({\n name: 'Categories', \n params: { \n _id: route.params._id\n } \n })\n }\n</script>\n\n<style lang=\"scss\">\n.container {\n max-width: 100%;\n margin: auto;\n}\n\n.grid {\n \n}\n\n.square {\n aspect-ratio: 1 / 1;\n height: 100%;\n background: #ccc;\n}\n</style>\n"],"names":["useRoute","useRouter","ref","onMounted","categories.actions","computed","categories.state","globals.state","IconCheckmark","auth.state","onUnmounted"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ref, onMounted, computed, onUnmounted, createElementBlock, createCommentVNode, openBlock, createBlock, createVNode, withCtx, createElementVNode, toDisplayString, unref, createTextVNode, Fragment, renderList } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
3
  import _sfc_main$5 from "../../../icons/navigation/IconDelete.vue.js";
4
- import _sfc_main$3 from "../../../../components/Button/Button.vue2.js";
4
+ import _sfc_main$3 from "../../../../components/Button/Button.vue.js";
5
5
  import Select from "../../../../components/Select/Select.vue.js";
6
6
  import _sfc_main$4 from "../../../../components/UploadImage/UploadImage.vue.js";
7
7
  import Field from "../../../../components/Field/Field.vue.js";
@@ -70,6 +70,14 @@ const _sfc_main = {
70
70
  type: state.current.owner.type,
71
71
  target: typeof state.current.owner.target === "object" ? state.current.owner.target._id : state.current.owner.target
72
72
  };
73
+ if (state.current.filters) {
74
+ state.current.filters = state.current.filters.map((filter) => ({
75
+ ...filter,
76
+ options: filter.options ? filter.options.map(
77
+ (opt) => typeof opt === "string" ? opt : opt.text
78
+ ) : []
79
+ }));
80
+ }
73
81
  await actions.update(state.current);
74
82
  redirectTo();
75
83
  } else {
@@ -83,6 +91,14 @@ const _sfc_main = {
83
91
  hidden: false,
84
92
  target: route.params._id ? route.params._id : null
85
93
  };
94
+ if (state.current.filters) {
95
+ state.current.filters = state.current.filters.map((filter) => ({
96
+ ...filter,
97
+ options: filter.options ? filter.options.map(
98
+ (opt) => typeof opt === "string" ? opt : opt.text
99
+ ) : []
100
+ }));
101
+ }
86
102
  await actions.create(state.current);
87
103
  redirectTo();
88
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryEdit.vue.js","sources":["../../../../../../../src/modules/products/components/pages/CategoryEdit.vue"],"sourcesContent":["<template>\n <div v-if=\"!isLoading\" class=\"rows-auto pd-thin bg-white for-transition w-100\">\n <Block v-if=\"!MOBILE_APP\" class=\"radius-medium mn-b-thin flex-nowrap flex-v-center flex\">\n <h1 class=\"mn-r-auto\">\n {{route.params.category ? 'Edit Category' : 'Add Category'}}\n </h1>\n\n <Button \n :submit=\"onSubmit\"\n class=\"pd-small radius-medium bg-main t-black uppercase t-medium\"\n >\n Save Category \n </Button>\n </Block>\n \n <Block \n title=\"Profile\"\n class=\"mn-b-thin\"\n >\n <div class=\"cols-auto-1fr mn-b-thin w-100 \">\n <UploadImage \n v-model:photo=\"categories.state.current.photo\"\n :uploadPath=\"'categories'\"\n class=\"aspect-1x1 h-100 o-hidden mn-r-small radius-extra\" \n />\n <Field\n v-model:field=\"categories.state.current.name\"\n label=\"Name\"\n placeholder=\"Enter category name\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n </div>\n\n <div class=\"mn-b-thin w-100 flex-nowrap gap-thin flex\">\n <Field\n v-model:field=\"categories.state.current.order\"\n label=\"Order\"\n :disabled=\"true\"\n class=\"w-40 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"categories.state.current.slug\"\n label=\"Slug\"\n placeholder=\"Enter category slug\"\n :disabled=\"route.params.category ? true : false\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n </div>\n \n <Field\n v-if=\"route.params.category\"\n v-model:field=\"categories.state.current.url\"\n label=\"URL Path\"\n :disabled=\"true\"\n class=\"w-100 bg-white radius-small pd-medium mn-b-thin\"\n />\n\n <Select \n v-model:select=\"categories.state.current.status\"\n label=\"Status\"\n :options=\"[\n 'draft', \n 'internal',\n 'published',\n 'removed'\n ]\"\n placeholder=\"Select category\"\n class=\"pos-relative w-100 bg-white radius-small pd-medium\"\n />\n\n <!-- <div class=\"flex-v-center flex-nowrap flex\">\n <h4 class=\"mn-r-thin t-medium\">Localization</h4>\n \n <button \n @click=\"() => categories.state.current.translations.push({locale: '', text: ''})\" \n class=\"i-small pd-thin button-delete button\"\n >\n +\n </button>\n </div> -->\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.translations\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.locale\"\n placeholder=\"Locale\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"item.text\"\n placeholder=\"Text\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.translations.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div>\n\n \n </Block>\n <!-- Filters -->\n <Block\n title=\"Filters\"\n placeholder=\"No filters added yet\"\n :actions=\"[{\n label: '+',\n function: () => categories.state.current.filters.push({name: '', options: []})\n }]\"\n >\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.filters\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.name\"\n placeholder=\"Filter name\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <FieldTags\n v-model:tags=\"item.options\"\n placeholder=\"Add filter options\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.filters.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div> \n </Block>\n </div>\n \n</template>\n\n<script setup>\n // Import libs\n import { computed, onUnmounted, onMounted, ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n \n import IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Select from \"@martyrs/src/components/Select/Select.vue\";\n import UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\n import Field from \"@martyrs/src/components/Field/Field.vue\";\n import FieldTags from \"@martyrs/src/components/FieldTags/FieldTags.vue\";\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n\n import Block from '@martyrs/src/components/Block/Block.vue';\n\n import IconCheckmark from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue'\n\n // Import the new store structure\n import * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'; \n import * as categories from '@martyrs/src/modules/products/store/categories.js';\n\n const route = useRoute()\n const router = useRouter()\n\n const emits = defineEmits(['page-loading', 'page-loaded']);\n\n // Data prefetching\n const isLoading = ref(true)\n onMounted(async () => {\n emits('page-loading');\n if (route.params.category) {\n await categories.actions.read({_id: route.params.category})\n } else {\n categories.actions.clean() // Adjusted based on the new store's method to reset the category state\n }\n\n emits('page-loaded');\n isLoading.value = false\n })\n\n // Accessing state\n const category = computed(() => categories.state.current)\n const routePath = computed(() => route.name)\n\n // Navigation Bar\n globals.state.navigation_bar.actions = [{\n component: IconCheckmark,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => onSubmit()\n }],\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n\n\n // Functions\n async function onSubmit() {\n if (route.params.category) {\n\n categories.state.current.creator = {\n type: categories.state.current.creator.type,\n hidden: categories.state.current.creator.hidden,\n target: typeof categories.state.current.creator.target === 'object' \n ? categories.state.current.creator.target._id \n : categories.state.current.creator.target\n }\n\n categories.state.current.owner = {\n type: categories.state.current.owner.type,\n target: typeof categories.state.current.owner.target === 'object' \n ? categories.state.current.owner.target._id \n : categories.state.current.owner.target\n }\n\n await categories.actions.update(categories.state.current)\n\n redirectTo()\n } else {\n\n categories.state.current.creator = {\n type: 'user',\n hidden: false,\n target: auth.state.user._id\n }\n\n categories.state.current.owner = {\n type: route.params._id ? 'organization' : 'platform',\n hidden: false,\n target: route.params._id ? route.params._id : null\n }\n\n await categories.actions.create(categories.state.current)\n redirectTo()\n }\n }\n\n function redirectTo () {\n router.push({\n name: 'Categories', \n params: { \n _id: route.params._id\n } \n })\n }\n</script>\n\n<style lang=\"scss\">\n.container {\n max-width: 100%;\n margin: auto;\n}\n\n.grid {\n \n}\n\n.square {\n aspect-ratio: 1 / 1;\n height: 100%;\n background: #ccc;\n}\n</style>\n"],"names":["categories.actions","categories.state","globals.state","IconCheckmark","auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyKE,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,UAAM,QAAQ;AAGd,UAAM,YAAY,IAAI,IAAI;AAC1B,cAAU,YAAY;AACpB,YAAM,cAAc;AACpB,UAAI,MAAM,OAAO,UAAU;AACzB,cAAMA,QAAmB,KAAK,EAAC,KAAK,MAAM,OAAO,SAAQ,CAAC;AAAA,MAC5D,OAAO;AACLA,gBAAmB,MAAK;AAAA,MAC1B;AAEA,YAAM,aAAa;AACnB,gBAAU,QAAQ;AAAA,IACpB,CAAC;AAGgB,aAAS,MAAMC,MAAiB,OAAO;AACtC,aAAS,MAAM,MAAM,IAAI;AAG3CC,YAAc,eAAe,UAAU,CAAC;AAAA,MACtC,WAAWC;AAAAA,MACX,OAAO;AAAA,QACL,MAAM;AAAA,MACZ;AAAA,MACI,WAAW,MAAMC,QAAW,QAAQA,QAAW,KAAK;AAAA,MACpD,QAAQ,MAAM,SAAQ;AAAA,IAC1B,CAAG,GAEF,YAAY,MAAM;AACfF,cAAc,eAAe,UAAU,CAAA;AAAA,IACzC,CAAC;AAKD,mBAAe,WAAW;AACxB,UAAI,MAAM,OAAO,UAAU;AAEzBD,cAAiB,QAAQ,UAAU;AAAA,UACjC,MAAMA,MAAiB,QAAQ,QAAQ;AAAA,UACvC,QAAQA,MAAiB,QAAQ,QAAQ;AAAA,UACzC,QAAQ,OAAOA,MAAiB,QAAQ,QAAQ,WAAW,WACvDA,MAAiB,QAAQ,QAAQ,OAAO,MACxCA,MAAiB,QAAQ,QAAQ;AAAA,QAC7C;AAEMA,cAAiB,QAAQ,QAAQ;AAAA,UAC/B,MAAMA,MAAiB,QAAQ,MAAM;AAAA,UACrC,QAAQ,OAAOA,MAAiB,QAAQ,MAAM,WAAW,WACrDA,MAAiB,QAAQ,MAAM,OAAO,MACtCA,MAAiB,QAAQ,MAAM;AAAA,QAC3C;AAEM,cAAMD,QAAmB,OAAOC,MAAiB,OAAO;AAExD,mBAAU;AAAA,MACZ,OAAO;AAELA,cAAiB,QAAQ,UAAU;AAAA,UACjC,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,QAAQG,QAAW,KAAK;AAAA,QAChC;AAEMH,cAAiB,QAAQ,QAAQ;AAAA,UAC/B,MAAM,MAAM,OAAO,MAAM,iBAAiB;AAAA,UAC1C,QAAQ;AAAA,UACR,QAAQ,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM;AAAA,QACtD;AAEM,cAAMD,QAAmB,OAAOC,MAAiB,OAAO;AACxD,mBAAU;AAAA,MACZ;AAAA,IACF;AAEA,aAAS,aAAc;AACrB,aAAO,KAAK;AAAA,QACV,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,KAAK,MAAM,OAAO;AAAA,QAC1B;AAAA,MACA,CAAK;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CategoryEdit.vue.js","sources":["../../../../../../../src/modules/products/components/pages/CategoryEdit.vue"],"sourcesContent":["<template>\n <div v-if=\"!isLoading\" class=\"rows-auto pd-thin bg-white for-transition w-100\">\n <Block v-if=\"!MOBILE_APP\" class=\"radius-medium mn-b-thin flex-nowrap flex-v-center flex\">\n <h1 class=\"mn-r-auto\">\n {{route.params.category ? 'Edit Category' : 'Add Category'}}\n </h1>\n\n <Button \n :submit=\"onSubmit\"\n class=\"pd-small radius-medium bg-main t-black uppercase t-medium\"\n >\n Save Category \n </Button>\n </Block>\n \n <Block \n title=\"Profile\"\n class=\"mn-b-thin\"\n >\n <div class=\"cols-auto-1fr mn-b-thin w-100 \">\n <UploadImage \n v-model:photo=\"categories.state.current.photo\"\n :uploadPath=\"'categories'\"\n class=\"aspect-1x1 h-100 o-hidden mn-r-small radius-extra\" \n />\n <Field\n v-model:field=\"categories.state.current.name\"\n label=\"Name\"\n placeholder=\"Enter category name\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n </div>\n\n <div class=\"mn-b-thin w-100 flex-nowrap gap-thin flex\">\n <Field\n v-model:field=\"categories.state.current.order\"\n label=\"Order\"\n :disabled=\"true\"\n class=\"w-40 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"categories.state.current.slug\"\n label=\"Slug\"\n placeholder=\"Enter category slug\"\n :disabled=\"route.params.category ? true : false\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n </div>\n \n <Field\n v-if=\"route.params.category\"\n v-model:field=\"categories.state.current.url\"\n label=\"URL Path\"\n :disabled=\"true\"\n class=\"w-100 bg-white radius-small pd-medium mn-b-thin\"\n />\n\n <Select \n v-model:select=\"categories.state.current.status\"\n label=\"Status\"\n :options=\"[\n 'draft', \n 'internal',\n 'published',\n 'removed'\n ]\"\n placeholder=\"Select category\"\n class=\"pos-relative w-100 bg-white radius-small pd-medium\"\n />\n\n <!-- <div class=\"flex-v-center flex-nowrap flex\">\n <h4 class=\"mn-r-thin t-medium\">Localization</h4>\n \n <button \n @click=\"() => categories.state.current.translations.push({locale: '', text: ''})\" \n class=\"i-small pd-thin button-delete button\"\n >\n +\n </button>\n </div> -->\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.translations\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.locale\"\n placeholder=\"Locale\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"item.text\"\n placeholder=\"Text\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.translations.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div>\n\n \n </Block>\n <!-- Filters -->\n <Block\n title=\"Filters\"\n placeholder=\"No filters added yet\"\n :actions=\"[{\n label: '+',\n function: () => categories.state.current.filters.push({name: '', options: []})\n }]\"\n >\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.filters\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.name\"\n placeholder=\"Filter name\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <FieldTags\n v-model:tags=\"item.options\"\n placeholder=\"Add filter options\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.filters.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div> \n </Block>\n </div>\n \n</template>\n\n<script setup>\n // Import libs\n import { computed, onUnmounted, onMounted, ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n \n import IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Select from \"@martyrs/src/components/Select/Select.vue\";\n import UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\n import Field from \"@martyrs/src/components/Field/Field.vue\";\n import FieldTags from \"@martyrs/src/components/FieldTags/FieldTags.vue\";\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n\n import Block from '@martyrs/src/components/Block/Block.vue';\n\n import IconCheckmark from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue'\n\n // Import the new store structure\n import * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'; \n import * as categories from '@martyrs/src/modules/products/store/categories.js';\n\n const route = useRoute()\n const router = useRouter()\n\n const emits = defineEmits(['page-loading', 'page-loaded']);\n\n // Data prefetching\n const isLoading = ref(true)\n onMounted(async () => {\n emits('page-loading');\n if (route.params.category) {\n await categories.actions.read({_id: route.params.category})\n } else {\n categories.actions.clean() // Adjusted based on the new store's method to reset the category state\n }\n\n emits('page-loaded');\n isLoading.value = false\n })\n\n // Accessing state\n const category = computed(() => categories.state.current)\n const routePath = computed(() => route.name)\n\n // Navigation Bar\n globals.state.navigation_bar.actions = [{\n component: IconCheckmark,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => onSubmit()\n }],\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n\n\n // Functions\n async function onSubmit() {\n if (route.params.category) {\n\n categories.state.current.creator = {\n type: categories.state.current.creator.type,\n hidden: categories.state.current.creator.hidden,\n target: typeof categories.state.current.creator.target === 'object' \n ? categories.state.current.creator.target._id \n : categories.state.current.creator.target\n }\n\n categories.state.current.owner = {\n type: categories.state.current.owner.type,\n target: typeof categories.state.current.owner.target === 'object' \n ? categories.state.current.owner.target._id \n : categories.state.current.owner.target\n }\n \n // Очищаем filters от tiClasses перед отправкой\n if (categories.state.current.filters) {\n categories.state.current.filters = categories.state.current.filters.map(filter => ({\n ...filter,\n options: filter.options ? filter.options.map(opt => \n typeof opt === 'string' ? opt : opt.text\n ) : []\n }));\n }\n\n await categories.actions.update(categories.state.current)\n\n redirectTo()\n } else {\n\n categories.state.current.creator = {\n type: 'user',\n hidden: false,\n target: auth.state.user._id\n }\n\n categories.state.current.owner = {\n type: route.params._id ? 'organization' : 'platform',\n hidden: false,\n target: route.params._id ? route.params._id : null\n }\n \n // Очищаем filters от tiClasses перед отправкой\n if (categories.state.current.filters) {\n categories.state.current.filters = categories.state.current.filters.map(filter => ({\n ...filter,\n options: filter.options ? filter.options.map(opt => \n typeof opt === 'string' ? opt : opt.text\n ) : []\n }));\n }\n\n await categories.actions.create(categories.state.current)\n redirectTo()\n }\n }\n\n function redirectTo () {\n router.push({\n name: 'Categories', \n params: { \n _id: route.params._id\n } \n })\n }\n</script>\n\n<style lang=\"scss\">\n.container {\n max-width: 100%;\n margin: auto;\n}\n\n.grid {\n \n}\n\n.square {\n aspect-ratio: 1 / 1;\n height: 100%;\n background: #ccc;\n}\n</style>\n"],"names":["categories.actions","categories.state","globals.state","IconCheckmark","auth.state"],"mappings":"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"}
@@ -8,9 +8,9 @@ const auth = require("../../../auth/views/store/auth.cjs");
8
8
  const products = require("../../store/products.cjs");
9
9
  const shopcart = require("../../../orders/store/shopcart.cjs");
10
10
  ;/* empty css */
11
- ;/* empty css */
11
+ ;/* empty css */
12
12
  ;/* empty css */
13
- ;/* empty css */
13
+ ;/* empty css */
14
14
  ;/* empty css */
15
15
  const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
16
16
  const IconInfo = require("../../../icons/navigation/IconInfo.vue.cjs");
@@ -6,9 +6,9 @@ import { state as state$1 } from "../../../auth/views/store/auth.js";
6
6
  import { state, actions } from "../../store/products.js";
7
7
  import { state as state$2, actions as actions$1 } from "../../../orders/store/shopcart.js";
8
8
  /* empty css */
9
- /* empty css */
9
+ /* empty css */
10
10
  /* empty css */
11
- /* empty css */
11
+ /* empty css */
12
12
  /* empty css */
13
13
  import _sfc_main$1 from "../../../icons/navigation/IconEdit.vue.js";
14
14
  import _sfc_main$4 from "../../../icons/navigation/IconInfo.vue.js";
@@ -3,10 +3,10 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const Block = require("../../../../components/Block/Block.vue.cjs");
6
- const Tab = require("../../../../components/Tab/Tab.vue2.cjs");
6
+ const Tab = require("../../../../components/Tab/Tab.vue.cjs");
7
7
  const Field = require("../../../../components/Field/Field.vue.cjs");
8
8
  const Select = require("../../../../components/Select/Select.vue.cjs");
9
- const Button = require("../../../../components/Button/Button.vue2.cjs");
9
+ const Button = require("../../../../components/Button/Button.vue.cjs");
10
10
  const EditImages = require("../../../../components/EditImages/EditImages.vue2.cjs");
11
11
  const BlockMultiselect = require("../../../globals/views/components/blocks/BlockMultiselect.vue.cjs");
12
12
  const IconCross = require("../../../icons/navigation/IconCross.vue.cjs");
@@ -1,10 +1,10 @@
1
1
  import { ref, onMounted, createElementBlock, createCommentVNode, unref, openBlock, createBlock, createElementVNode, withCtx, createVNode, toDisplayString, createTextVNode, isRef, withModifiers, Fragment, renderList } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
3
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
4
- import _sfc_main$3 from "../../../../components/Tab/Tab.vue2.js";
4
+ import _sfc_main$3 from "../../../../components/Tab/Tab.vue.js";
5
5
  import Field from "../../../../components/Field/Field.vue.js";
6
6
  import Select from "../../../../components/Select/Select.vue.js";
7
- import _sfc_main$2 from "../../../../components/Button/Button.vue2.js";
7
+ import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
8
8
  import _sfc_main$4 from "../../../../components/EditImages/EditImages.vue2.js";
9
9
  import BlockMultiselect from "../../../globals/views/components/blocks/BlockMultiselect.vue.js";
10
10
  import _sfc_main$5 from "../../../icons/navigation/IconCross.vue.js";
@@ -2,9 +2,9 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
- ;/* empty css */
5
+ ;/* empty css */
6
6
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
7
- const Spoiler = require("../../../../components/Spoiler/Spoiler.vue2.cjs");
7
+ const Spoiler = require("../../../../components/Spoiler/Spoiler.vue.cjs");
8
8
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
9
9
  require("vue-i18n");
10
10
  const categories = require("../../store/categories.cjs");
@@ -1,8 +1,8 @@
1
1
  import { ref, computed, onMounted, onUnmounted, resolveComponent, createElementBlock, openBlock, createCommentVNode, createElementVNode, createVNode, unref, toDisplayString, Fragment, renderList, createTextVNode, createBlock, withCtx, normalizeClass, renderSlot } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- /* empty css */
3
+ /* empty css */
4
4
  import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
5
- import _sfc_main$2 from "../../../../components/Spoiler/Spoiler.vue2.js";
5
+ import _sfc_main$2 from "../../../../components/Spoiler/Spoiler.vue.js";
6
6
  import _sfc_main$3 from "../../../../components/Checkbox/Checkbox.vue.js";
7
7
  import "vue-i18n";
8
8
  import { actions as actions$1 } from "../../store/categories.js";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const Block = require("../../../../components/Block/Block.vue.cjs");
5
5
  const Field = require("../../../../components/Field/Field.vue.cjs");
6
- const Button = require("../../../../components/Button/Button.vue2.cjs");
6
+ const Button = require("../../../../components/Button/Button.vue.cjs");
7
7
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
8
8
  const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
9
9
  const IconDelete = require("../../../icons/navigation/IconDelete.vue.cjs");
@@ -1,7 +1,7 @@
1
1
  import { useModel, ref, reactive, createElementBlock, openBlock, Fragment, createVNode, withCtx, createCommentVNode, renderList, createElementVNode, toDisplayString, createTextVNode } from "vue";
2
2
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
3
3
  import Field from "../../../../components/Field/Field.vue.js";
4
- import _sfc_main$5 from "../../../../components/Button/Button.vue2.js";
4
+ import _sfc_main$5 from "../../../../components/Button/Button.vue.js";
5
5
  import _sfc_main$4 from "../../../../components/Popup/Popup.vue.js";
6
6
  import _sfc_main$2 from "../../../icons/navigation/IconEdit.vue.js";
7
7
  import _sfc_main$3 from "../../../icons/navigation/IconDelete.vue.js";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const Block = require("../../../../components/Block/Block.vue.cjs");
5
5
  const Field = require("../../../../components/Field/Field.vue.cjs");
6
- const Button = require("../../../../components/Button/Button.vue2.cjs");
6
+ const Button = require("../../../../components/Button/Button.vue.cjs");
7
7
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
8
8
  const Select = require("../../../../components/Select/Select.vue.cjs");
9
9
  const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
@@ -1,7 +1,7 @@
1
1
  import { useModel, ref, reactive, createElementBlock, openBlock, Fragment, createVNode, withCtx, createCommentVNode, renderList, createElementVNode, toDisplayString, createTextVNode } from "vue";
2
2
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
3
3
  import Field from "../../../../components/Field/Field.vue.js";
4
- import _sfc_main$5 from "../../../../components/Button/Button.vue2.js";
4
+ import _sfc_main$5 from "../../../../components/Button/Button.vue.js";
5
5
  import _sfc_main$4 from "../../../../components/Popup/Popup.vue.js";
6
6
  import Select from "../../../../components/Select/Select.vue.js";
7
7
  import _sfc_main$2 from "../../../icons/navigation/IconEdit.vue.js";
@@ -7,7 +7,7 @@ const variants_store = require("../../store/variants.store.cjs");
7
7
  const products = require("../../store/products.cjs");
8
8
  const Block = require("../../../../components/Block/Block.vue.cjs");
9
9
  const Field = require("../../../../components/Field/Field.vue.cjs");
10
- const Button = require("../../../../components/Button/Button.vue2.cjs");
10
+ const Button = require("../../../../components/Button/Button.vue.cjs");
11
11
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
12
12
  const Select = require("../../../../components/Select/Select.vue.cjs");
13
13
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
@@ -5,7 +5,7 @@ import variantsStore from "../../store/variants.store.js";
5
5
  import { state } from "../../store/products.js";
6
6
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
7
7
  import Field from "../../../../components/Field/Field.vue.js";
8
- import _sfc_main$3 from "../../../../components/Button/Button.vue2.js";
8
+ import _sfc_main$3 from "../../../../components/Button/Button.vue.js";
9
9
  import _sfc_main$7 from "../../../../components/Popup/Popup.vue.js";
10
10
  import Select from "../../../../components/Select/Select.vue.js";
11
11
  import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
@@ -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 Spoiler = require("../../../../components/Spoiler/Spoiler.vue2.cjs");
4
+ const Spoiler = require("../../../../components/Spoiler/Spoiler.vue.cjs");
5
5
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
6
6
  const vueI18n = require("vue-i18n");
7
7
  const vueRouter = require("vue-router");
@@ -1,5 +1,5 @@
1
1
  import { ref, watch, onMounted, createElementBlock, openBlock, createVNode, createElementVNode, withCtx, Fragment, renderList, createBlock, toDisplayString, unref } from "vue";
2
- import _sfc_main$1 from "../../../../components/Spoiler/Spoiler.vue2.js";
2
+ import _sfc_main$1 from "../../../../components/Spoiler/Spoiler.vue.js";
3
3
  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";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueI18n = require("vue-i18n");
5
5
  const IconShopcartAdd = require("../../../icons/actions/IconShopcartAdd.vue.cjs");
6
- const Button = require("../../../../components/Button/Button.vue2.cjs");
6
+ const Button = require("../../../../components/Button/Button.vue.cjs");
7
7
  const ProductVariants = require("../blocks/ProductVariants.vue.cjs");
8
8
  const ProductDiscounts = require("../blocks/ProductDiscounts.vue.cjs");
9
9
  const QuantitySelector = require("../elements/QuantitySelector.vue.cjs");
@@ -1,7 +1,7 @@
1
1
  import { ref, computed, createElementBlock, createCommentVNode, openBlock, createVNode, createElementVNode, toDisplayString, withCtx, unref, Fragment } from "vue";
2
2
  import { useI18n } from "vue-i18n";
3
3
  import _sfc_main$5 from "../../../icons/actions/IconShopcartAdd.vue.js";
4
- import _sfc_main$4 from "../../../../components/Button/Button.vue2.js";
4
+ import _sfc_main$4 from "../../../../components/Button/Button.vue.js";
5
5
  import _sfc_main$1 from "../blocks/ProductVariants.vue.js";
6
6
  import ProductDiscounts from "../blocks/ProductDiscounts.vue.js";
7
7
  import _sfc_main$3 from "../elements/QuantitySelector.vue.js";
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
- const Button = require("../../../../components/Button/Button.vue2.cjs");
5
+ const Button = require("../../../../components/Button/Button.vue.cjs");
6
6
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
7
7
  const CardProduct = require("../blocks/CardProduct.vue.cjs");
8
8
  const IconProducts = require("../../../icons/entities/IconProducts.vue.cjs");
@@ -1,6 +1,6 @@
1
1
  import { getCurrentInstance, ref, computed, createElementBlock, openBlock, createElementVNode, Fragment, renderList, createBlock, withCtx, createVNode, withModifiers, toDisplayString } from "vue";
2
2
  import { useRouter } from "vue-router";
3
- import _sfc_main$4 from "../../../../components/Button/Button.vue2.js";
3
+ import _sfc_main$4 from "../../../../components/Button/Button.vue.js";
4
4
  import _sfc_main$2 from "../../../../components/Checkbox/Checkbox.vue.js";
5
5
  import _sfc_main$1 from "../blocks/CardProduct.vue.js";
6
6
  import _sfc_main$3 from "../../../icons/entities/IconProducts.vue.js";
@@ -1,13 +1,13 @@
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.vue2.cjs");
5
- const Tab = require("../../../../components/Tab/Tab.vue2.cjs");
4
+ const Button = require("../../../../components/Button/Button.vue.cjs");
5
+ const Tab = require("../../../../components/Tab/Tab.vue.cjs");
6
6
  const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
7
7
  const PlaceholderImage = require("../../../icons/placeholders/PlaceholderImage.vue.cjs");
8
8
  const Image360 = require("../elements/Image360.vue.cjs");
9
9
  const ProductImages = require("../blocks/ProductImages.vue.cjs");
10
- ;/* empty css */
10
+ ;/* empty css */
11
11
  const Price = require("../elements/Price.vue.cjs");
12
12
  const vueRouter = require("vue-router");
13
13
  const vueI18n = require("vue-i18n");
@@ -1,11 +1,11 @@
1
1
  import { computed, ref, createElementBlock, openBlock, createElementVNode, createBlock, createCommentVNode, createVNode, unref, toDisplayString, Transition, withCtx, Fragment, renderList, createTextVNode } from "vue";
2
- import _sfc_main$4 from "../../../../components/Button/Button.vue2.js";
3
- import _sfc_main$3 from "../../../../components/Tab/Tab.vue2.js";
2
+ import _sfc_main$4 from "../../../../components/Button/Button.vue.js";
3
+ import _sfc_main$3 from "../../../../components/Tab/Tab.vue.js";
4
4
  import _sfc_main$1 from "../../../icons/navigation/IconEdit.vue.js";
5
5
  import PlaceholderImage from "../../../icons/placeholders/PlaceholderImage.vue.js";
6
6
  import Image360 from "../elements/Image360.vue.js";
7
7
  import ProductImages from "../blocks/ProductImages.vue.js";
8
- /* empty css */
8
+ /* empty css */
9
9
  import _sfc_main$2 from "../elements/Price.vue.js";
10
10
  import { useRoute, useRouter } from "vue-router";
11
11
  import { useI18n } from "vue-i18n";
@@ -30,6 +30,10 @@ const actions = {
30
30
  try {
31
31
  const response = await axiosInstance.default.get("/api/categories", { params: options });
32
32
  if (options._id) {
33
+ console.log("Category data from server:", response.data[0]);
34
+ if (response.data[0].filters) {
35
+ console.log("Filters:", response.data[0].filters);
36
+ }
33
37
  state.current = { ...response.data[0] };
34
38
  return Promise.resolve(response.data[0]);
35
39
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"categories.cjs","sources":["../../../../../../src/modules/products/store/categories.js"],"sourcesContent":["// Dependencies\nimport { setError } from '@martyrs/src/modules/globals/views/store/globals.js';\nimport { reactive, watch } from 'vue';\n\nimport $axios from '@martyrs/src/modules/globals/views/utils/axios-instance.js';\n\n// State\nconst state = reactive({\n all: [],\n\n filter: {\n status: null,\n search: null,\n },\n current: {\n order: 1,\n photo: '',\n name: '',\n slug: '',\n url: '',\n level: 0,\n status: 'draft',\n creator: null,\n owner: null,\n parent: null,\n children: [],\n filters: [],\n translations: [],\n },\n});\n\n// Methods\nconst actions = {\n async read(options = {}) {\n try {\n const response = await $axios.get('/api/categories', { params: options });\n\n if (options._id) {\n state.current = { ...response.data[0] };\n return Promise.resolve(response.data[0]);\n } else {\n return Promise.resolve(response.data);\n }\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async create(category) {\n try {\n const response = await $axios.post('/api/categories/create', category);\n state.all.push(response.data);\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async update(category) {\n try {\n const response = await $axios.post('/api/categories/update', category);\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n // Method for updating order of multiple categories\n async updateOrder(data) {\n try {\n const response = await $axios.post('/api/categories/updateOrder', data);\n\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async delete(id) {\n try {\n await $axios.post('/api/categories/delete', { _id: id });\n // Рекурсивная функция для удаления категории и её детей из дерева\n function removeFromTree(items) {\n return items.filter(item => {\n if (item._id === id) {\n return false;\n }\n if (item.children && item.children.length > 0) {\n item.children = removeFromTree(item.children);\n }\n return true;\n });\n }\n state.all = removeFromTree(state.all);\n return Promise.resolve();\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n clean() {\n state.current = {\n order: 1,\n photo: '',\n name: '',\n slug: '',\n url: '',\n level: 0,\n status: 'draft',\n creator: null,\n owner: null,\n parent: null,\n children: [],\n filters: [],\n translations: [],\n };\n },\n};\n\nconst history = [];\nhistory.push(state);\n\nwatch(\n state,\n newState => {\n history.push(newState);\n },\n { deep: true }\n);\n\nexport { actions, state };\n"],"names":["reactive","$axios","setError","watch"],"mappings":"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"}
1
+ {"version":3,"file":"categories.cjs","sources":["../../../../../../src/modules/products/store/categories.js"],"sourcesContent":["// Dependencies\nimport { setError } from '@martyrs/src/modules/globals/views/store/globals.js';\nimport { reactive, watch } from 'vue';\n\nimport $axios from '@martyrs/src/modules/globals/views/utils/axios-instance.js';\n\n// State\nconst state = reactive({\n all: [],\n\n filter: {\n status: null,\n search: null,\n },\n current: {\n order: 1,\n photo: '',\n name: '',\n slug: '',\n url: '',\n level: 0,\n status: 'draft',\n creator: null,\n owner: null,\n parent: null,\n children: [],\n filters: [],\n translations: [],\n },\n});\n\n// Methods\nconst actions = {\n async read(options = {}) {\n try {\n const response = await $axios.get('/api/categories', { params: options });\n\n if (options._id) {\n // Проверяем что приходит с сервера\n console.log('Category data from server:', response.data[0]);\n if (response.data[0].filters) {\n console.log('Filters:', response.data[0].filters);\n }\n state.current = { ...response.data[0] };\n return Promise.resolve(response.data[0]);\n } else {\n return Promise.resolve(response.data);\n }\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async create(category) {\n try {\n const response = await $axios.post('/api/categories/create', category);\n state.all.push(response.data);\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async update(category) {\n try {\n const response = await $axios.post('/api/categories/update', category);\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n // Method for updating order of multiple categories\n async updateOrder(data) {\n try {\n const response = await $axios.post('/api/categories/updateOrder', data);\n\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async delete(id) {\n try {\n await $axios.post('/api/categories/delete', { _id: id });\n // Рекурсивная функция для удаления категории и её детей из дерева\n function removeFromTree(items) {\n return items.filter(item => {\n if (item._id === id) {\n return false;\n }\n if (item.children && item.children.length > 0) {\n item.children = removeFromTree(item.children);\n }\n return true;\n });\n }\n state.all = removeFromTree(state.all);\n return Promise.resolve();\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n clean() {\n state.current = {\n order: 1,\n photo: '',\n name: '',\n slug: '',\n url: '',\n level: 0,\n status: 'draft',\n creator: null,\n owner: null,\n parent: null,\n children: [],\n filters: [],\n translations: [],\n };\n },\n};\n\nconst history = [];\nhistory.push(state);\n\nwatch(\n state,\n newState => {\n history.push(newState);\n },\n { deep: true }\n);\n\nexport { actions, state };\n"],"names":["reactive","$axios","setError","watch"],"mappings":"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"}
@@ -28,6 +28,10 @@ const actions = {
28
28
  try {
29
29
  const response = await $axios.get("/api/categories", { params: options });
30
30
  if (options._id) {
31
+ console.log("Category data from server:", response.data[0]);
32
+ if (response.data[0].filters) {
33
+ console.log("Filters:", response.data[0].filters);
34
+ }
31
35
  state.current = { ...response.data[0] };
32
36
  return Promise.resolve(response.data[0]);
33
37
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"categories.js","sources":["../../../../../../src/modules/products/store/categories.js"],"sourcesContent":["// Dependencies\nimport { setError } from '@martyrs/src/modules/globals/views/store/globals.js';\nimport { reactive, watch } from 'vue';\n\nimport $axios from '@martyrs/src/modules/globals/views/utils/axios-instance.js';\n\n// State\nconst state = reactive({\n all: [],\n\n filter: {\n status: null,\n search: null,\n },\n current: {\n order: 1,\n photo: '',\n name: '',\n slug: '',\n url: '',\n level: 0,\n status: 'draft',\n creator: null,\n owner: null,\n parent: null,\n children: [],\n filters: [],\n translations: [],\n },\n});\n\n// Methods\nconst actions = {\n async read(options = {}) {\n try {\n const response = await $axios.get('/api/categories', { params: options });\n\n if (options._id) {\n state.current = { ...response.data[0] };\n return Promise.resolve(response.data[0]);\n } else {\n return Promise.resolve(response.data);\n }\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async create(category) {\n try {\n const response = await $axios.post('/api/categories/create', category);\n state.all.push(response.data);\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async update(category) {\n try {\n const response = await $axios.post('/api/categories/update', category);\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n // Method for updating order of multiple categories\n async updateOrder(data) {\n try {\n const response = await $axios.post('/api/categories/updateOrder', data);\n\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async delete(id) {\n try {\n await $axios.post('/api/categories/delete', { _id: id });\n // Рекурсивная функция для удаления категории и её детей из дерева\n function removeFromTree(items) {\n return items.filter(item => {\n if (item._id === id) {\n return false;\n }\n if (item.children && item.children.length > 0) {\n item.children = removeFromTree(item.children);\n }\n return true;\n });\n }\n state.all = removeFromTree(state.all);\n return Promise.resolve();\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n clean() {\n state.current = {\n order: 1,\n photo: '',\n name: '',\n slug: '',\n url: '',\n level: 0,\n status: 'draft',\n creator: null,\n owner: null,\n parent: null,\n children: [],\n filters: [],\n translations: [],\n };\n },\n};\n\nconst history = [];\nhistory.push(state);\n\nwatch(\n state,\n newState => {\n history.push(newState);\n },\n { deep: true }\n);\n\nexport { actions, state };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"categories.js","sources":["../../../../../../src/modules/products/store/categories.js"],"sourcesContent":["// Dependencies\nimport { setError } from '@martyrs/src/modules/globals/views/store/globals.js';\nimport { reactive, watch } from 'vue';\n\nimport $axios from '@martyrs/src/modules/globals/views/utils/axios-instance.js';\n\n// State\nconst state = reactive({\n all: [],\n\n filter: {\n status: null,\n search: null,\n },\n current: {\n order: 1,\n photo: '',\n name: '',\n slug: '',\n url: '',\n level: 0,\n status: 'draft',\n creator: null,\n owner: null,\n parent: null,\n children: [],\n filters: [],\n translations: [],\n },\n});\n\n// Methods\nconst actions = {\n async read(options = {}) {\n try {\n const response = await $axios.get('/api/categories', { params: options });\n\n if (options._id) {\n // Проверяем что приходит с сервера\n console.log('Category data from server:', response.data[0]);\n if (response.data[0].filters) {\n console.log('Filters:', response.data[0].filters);\n }\n state.current = { ...response.data[0] };\n return Promise.resolve(response.data[0]);\n } else {\n return Promise.resolve(response.data);\n }\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async create(category) {\n try {\n const response = await $axios.post('/api/categories/create', category);\n state.all.push(response.data);\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async update(category) {\n try {\n const response = await $axios.post('/api/categories/update', category);\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n // Method for updating order of multiple categories\n async updateOrder(data) {\n try {\n const response = await $axios.post('/api/categories/updateOrder', data);\n\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async delete(id) {\n try {\n await $axios.post('/api/categories/delete', { _id: id });\n // Рекурсивная функция для удаления категории и её детей из дерева\n function removeFromTree(items) {\n return items.filter(item => {\n if (item._id === id) {\n return false;\n }\n if (item.children && item.children.length > 0) {\n item.children = removeFromTree(item.children);\n }\n return true;\n });\n }\n state.all = removeFromTree(state.all);\n return Promise.resolve();\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n clean() {\n state.current = {\n order: 1,\n photo: '',\n name: '',\n slug: '',\n url: '',\n level: 0,\n status: 'draft',\n creator: null,\n owner: null,\n parent: null,\n children: [],\n filters: [],\n translations: [],\n };\n },\n};\n\nconst history = [];\nhistory.push(state);\n\nwatch(\n state,\n newState => {\n history.push(newState);\n },\n { deep: true }\n);\n\nexport { actions, state };\n"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const dayjs_min = require("../../../../../../../../_virtual/dayjs.min.cjs");
5
- const Tab = require("../../../../../../components/Tab/Tab.vue2.cjs");
6
- const Button = require("../../../../../../components/Button/Button.vue2.cjs");
5
+ const Tab = require("../../../../../../components/Tab/Tab.vue.cjs");
6
+ const Button = require("../../../../../../components/Button/Button.vue.cjs");
7
7
  const Dropdown = require("../../../../../../components/Dropdown/Dropdown.vue2.cjs");
8
8
  const Calendar = require("../../../../../../components/Calendar/Calendar.vue2.cjs");
9
9
  const DateLabel = require("./DateLabel.vue.cjs");
@@ -1,7 +1,7 @@
1
1
  import { computed, ref, watch, createElementBlock, openBlock, createElementVNode, createVNode, withCtx, createTextVNode } from "vue";
2
2
  import dayjs from "../../../../../../../../_virtual/dayjs.min.js";
3
- import _sfc_main$2 from "../../../../../../components/Tab/Tab.vue2.js";
4
- import _sfc_main$3 from "../../../../../../components/Button/Button.vue2.js";
3
+ import _sfc_main$2 from "../../../../../../components/Tab/Tab.vue.js";
4
+ import _sfc_main$3 from "../../../../../../components/Button/Button.vue.js";
5
5
  import _sfc_main$4 from "../../../../../../components/Dropdown/Dropdown.vue2.js";
6
6
  import Calendar from "../../../../../../components/Calendar/Calendar.vue2.js";
7
7
  import _sfc_main$1 from "./DateLabel.vue.js";