@ozdao/martyrs 0.2.539 → 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 (200) 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.vue.cjs +1 -1
  8. package/dist/martyrs/src/components/Button/Button.vue.js +1 -1
  9. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs → Dropdown.vue2.cjs} +2 -2
  10. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +1 -0
  11. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
  12. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs.map → Dropdown.vue2.js.map} +1 -1
  13. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs +0 -93
  14. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs.map +1 -1
  15. package/dist/martyrs/src/components/EditImages/EditImages.vue.js +1 -94
  16. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +1 -1
  17. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs +93 -0
  18. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs.map +1 -1
  19. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +94 -1
  20. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -1
  21. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +1 -1
  22. package/dist/martyrs/src/components/Feed/Carousel.vue.js +1 -1
  23. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +3 -3
  24. package/dist/martyrs/src/components/Feed/Feed.vue.js +3 -3
  25. package/dist/martyrs/src/components/FieldTags/create-tags.cjs +11 -2
  26. package/dist/martyrs/src/components/FieldTags/create-tags.cjs.map +1 -1
  27. package/dist/martyrs/src/components/FieldTags/create-tags.js +11 -2
  28. package/dist/martyrs/src/components/FieldTags/create-tags.js.map +1 -1
  29. package/dist/martyrs/src/components/Loader/{Loader.vue.cjs → Loader.vue2.cjs} +2 -2
  30. package/dist/martyrs/src/components/Loader/Loader.vue2.cjs.map +1 -0
  31. package/dist/martyrs/src/components/Loader/{Loader.vue.js → Loader.vue2.js} +2 -2
  32. package/dist/martyrs/src/components/Loader/{Loader.vue.cjs.map → Loader.vue2.js.map} +1 -1
  33. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.cjs +1 -1
  34. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +1 -1
  35. package/dist/martyrs/src/components/Menu/{Menu.vue.cjs → Menu.vue2.cjs} +2 -2
  36. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +1 -0
  37. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  38. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  39. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs +1 -1
  40. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
  41. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -3
  42. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
  43. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
  44. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  45. package/dist/martyrs/src/modules/auth/views/store/auth.cjs +0 -2
  46. package/dist/martyrs/src/modules/auth/views/store/auth.cjs.map +1 -1
  47. package/dist/martyrs/src/modules/auth/views/store/auth.js +0 -2
  48. package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
  49. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  50. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  51. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
  52. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  53. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +3 -3
  54. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +3 -3
  55. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.cjs +1 -1
  56. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
  57. package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs +1 -1
  58. package/dist/martyrs/src/modules/events/components/sections/List.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/globals.client.cjs +0 -3
  62. package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
  63. package/dist/martyrs/src/modules/globals/globals.client.js +0 -3
  64. package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
  65. package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs +31 -41
  66. package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs.map +1 -1
  67. package/dist/martyrs/src/modules/globals/views/classes/globals.app.js +31 -41
  68. package/dist/martyrs/src/modules/globals/views/classes/globals.app.js.map +1 -1
  69. package/dist/martyrs/src/modules/globals/views/classes/module-registry.cjs +0 -3
  70. package/dist/martyrs/src/modules/globals/views/classes/module-registry.cjs.map +1 -1
  71. package/dist/martyrs/src/modules/globals/views/classes/module-registry.js +0 -3
  72. package/dist/martyrs/src/modules/globals/views/classes/module-registry.js.map +1 -1
  73. package/dist/martyrs/src/modules/globals/views/classes/store.cjs +0 -5
  74. package/dist/martyrs/src/modules/globals/views/classes/store.cjs.map +1 -1
  75. package/dist/martyrs/src/modules/globals/views/classes/store.js +0 -5
  76. package/dist/martyrs/src/modules/globals/views/classes/store.js.map +1 -1
  77. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  78. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  79. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
  80. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
  81. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
  82. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
  83. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  85. package/dist/martyrs/src/modules/globals/views/components/sections/{Filters.vue.cjs → Filters.vue2.cjs} +2 -2
  86. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs.map +1 -0
  87. package/dist/martyrs/src/modules/globals/views/components/sections/{Filters.vue.js → Filters.vue2.js} +2 -2
  88. package/dist/martyrs/src/modules/globals/views/components/sections/{Filters.vue.cjs.map → Filters.vue2.js.map} +1 -1
  89. package/dist/martyrs/src/modules/globals/views/store/globals.cjs +2 -2
  90. package/dist/martyrs/src/modules/globals/views/store/globals.cjs.map +1 -1
  91. package/dist/martyrs/src/modules/globals/views/store/globals.js +2 -2
  92. package/dist/martyrs/src/modules/globals/views/store/globals.js.map +1 -1
  93. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +7 -3
  94. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs.map +1 -1
  95. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js +7 -3
  96. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js.map +1 -1
  97. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +2 -2
  98. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +1 -1
  99. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +1 -1
  100. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +1 -1
  101. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +1 -1
  102. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
  103. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +1 -1
  104. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
  105. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +2 -2
  106. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
  107. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +1 -1
  108. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +1 -1
  109. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +2 -2
  110. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +2 -2
  111. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +1 -1
  113. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +2 -2
  114. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +2 -2
  115. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
  116. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  117. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +1 -1
  118. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +1 -1
  119. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +3 -3
  120. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +3 -3
  121. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +4 -4
  122. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +4 -4
  123. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +4 -4
  124. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +4 -4
  125. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +4 -4
  126. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +4 -4
  127. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +4 -4
  128. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +4 -4
  129. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  130. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  131. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  132. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  133. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  134. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  135. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
  136. package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
  137. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  138. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  139. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.cjs +1 -1
  140. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +1 -1
  141. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  142. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  143. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +19 -3
  144. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
  145. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +19 -3
  146. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  147. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
  148. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
  149. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  150. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
  151. package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.cjs +1 -1
  152. package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.js +1 -1
  153. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +1 -1
  154. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
  155. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +1 -1
  156. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
  157. package/dist/martyrs/src/modules/products/store/categories.cjs +4 -0
  158. package/dist/martyrs/src/modules/products/store/categories.cjs.map +1 -1
  159. package/dist/martyrs/src/modules/products/store/categories.js +4 -0
  160. package/dist/martyrs/src/modules/products/store/categories.js.map +1 -1
  161. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +1 -1
  162. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
  163. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  164. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  165. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +1 -1
  166. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +1 -1
  167. package/dist/martyrs.cjs.js +1 -1
  168. package/dist/martyrs.es.js +1 -1
  169. package/dist/music.server.cjs +1 -1
  170. package/dist/music.server.js +1 -1
  171. package/dist/orders.server.cjs +1 -1
  172. package/dist/orders.server.js +1 -1
  173. package/dist/organizations.server.cjs +1 -1
  174. package/dist/organizations.server.js +1 -1
  175. package/dist/products.server.cjs +10 -2
  176. package/dist/products.server.js +10 -2
  177. package/dist/rents.server.cjs +1 -1
  178. package/dist/rents.server.js +1 -1
  179. package/dist/{web-bMa0DMyG.cjs → web-C9bVm6Nw.cjs} +1 -1
  180. package/dist/{web-DxxU2bwy.js → web-DsdyXC8n.js} +1 -1
  181. package/package.json +1 -1
  182. package/src/components/FieldTags/FieldTagsNew.vue +366 -0
  183. package/src/components/FieldTags/README.md +513 -0
  184. package/src/components/FieldTags/create-tags.js +15 -2
  185. package/src/modules/auth/views/store/auth.js +0 -2
  186. package/src/modules/globals/controllers/classes/globals.validator.js +24 -23
  187. package/src/modules/globals/globals.client.js +0 -3
  188. package/src/modules/globals/views/classes/globals.app.js +21 -34
  189. package/src/modules/globals/views/classes/module-registry.js +0 -3
  190. package/src/modules/globals/views/classes/store.js +0 -7
  191. package/src/modules/globals/views/store/globals.js +2 -2
  192. package/src/modules/globals/views/utils/vue-app-renderer.js +11 -3
  193. package/src/modules/products/components/pages/CategoryEdit.vue +20 -0
  194. package/src/modules/products/middlewares/categories.verifier.js +9 -1
  195. package/src/modules/products/store/categories.js +5 -0
  196. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
  197. package/dist/martyrs/src/components/Loader/Loader.vue.js.map +0 -1
  198. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +0 -1
  199. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  200. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue.js.map +0 -1
@@ -14,11 +14,11 @@ const CardUser = require("../../../auth/views/components/blocks/CardUser.vue.cjs
14
14
  require("vue-i18n");
15
15
  ;/* empty css */
16
16
  ;/* empty css */
17
- ;/* empty css */
17
+ ;/* empty css */
18
18
  ;/* empty css */
19
- ;/* empty css */
19
+ ;/* empty css */
20
20
  require("../../../../components/Menu/MenuItem.vue.cjs");
21
- ;/* empty css */
21
+ ;/* empty css */
22
22
  ;/* empty css */
23
23
  ;/* empty css */
24
24
  ;/* empty css */
@@ -26,7 +26,7 @@ require("../../../../components/Menu/MenuItem.vue.cjs");
26
26
  ;/* empty css */
27
27
  ;/* empty css */
28
28
  ;/* empty css */
29
- ;/* empty css */
29
+ ;/* empty css */
30
30
  ;/* empty css */
31
31
  ;/* empty css */
32
32
  const auth = require("../../../auth/views/store/auth.cjs");
@@ -12,11 +12,11 @@ import _sfc_main$3 from "../../../auth/views/components/blocks/CardUser.vue.js";
12
12
  import "vue-i18n";
13
13
  /* empty css */
14
14
  /* empty css */
15
- /* empty css */
15
+ /* empty css */
16
16
  /* empty css */
17
- /* empty css */
17
+ /* empty css */
18
18
  import "../../../../components/Menu/MenuItem.vue.js";
19
- /* empty css */
19
+ /* empty css */
20
20
  /* empty css */
21
21
  /* empty css */
22
22
  /* empty css */
@@ -24,7 +24,7 @@ import "../../../../components/Menu/MenuItem.vue.js";
24
24
  /* empty css */
25
25
  /* empty css */
26
26
  /* empty css */
27
- /* empty css */
27
+ /* empty css */
28
28
  /* empty css */
29
29
  /* empty css */
30
30
  import { state } from "../../../auth/views/store/auth.js";
@@ -5,9 +5,9 @@ const vueRouter = require("vue-router");
5
5
  require("vue-i18n");
6
6
  ;/* empty css */
7
7
  ;/* empty css */
8
- const Dropdown = require("../../../../components/Dropdown/Dropdown.vue.cjs");
8
+ const Dropdown = require("../../../../components/Dropdown/Dropdown.vue2.cjs");
9
9
  const Chips = require("../../../../components/Chips/Chips.vue2.cjs");
10
- ;/* empty css */
10
+ ;/* empty css */
11
11
  require("../../../../components/Menu/MenuItem.vue.cjs");
12
12
  const IconFollowing = require("../../../icons/entities/IconFollowing.vue.cjs");
13
13
  const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
@@ -16,13 +16,13 @@ const PlaceholderOrganizationPic = require("../../../icons/placeholders/Placehol
16
16
  const memberships_store = require("../../store/memberships.store.cjs");
17
17
  const organizations = require("../../store/organizations.cjs");
18
18
  ;/* empty css */
19
- ;/* empty css */
19
+ ;/* empty css */
20
20
  ;/* empty css */
21
21
  ;/* empty css */
22
22
  ;/* empty css */
23
23
  ;/* empty css */
24
24
  ;/* empty css */
25
- ;/* empty css */
25
+ ;/* empty css */
26
26
  ;/* empty css */
27
27
  ;/* empty css */
28
28
  const auth = require("../../../auth/views/store/auth.cjs");
@@ -3,9 +3,9 @@ import { useRouter, useRoute } from "vue-router";
3
3
  import "vue-i18n";
4
4
  /* empty css */
5
5
  /* empty css */
6
- import _sfc_main$1 from "../../../../components/Dropdown/Dropdown.vue.js";
6
+ import _sfc_main$1 from "../../../../components/Dropdown/Dropdown.vue2.js";
7
7
  import _sfc_main$7 from "../../../../components/Chips/Chips.vue2.js";
8
- /* empty css */
8
+ /* empty css */
9
9
  import "../../../../components/Menu/MenuItem.vue.js";
10
10
  import _sfc_main$6 from "../../../icons/entities/IconFollowing.vue.js";
11
11
  import _sfc_main$5 from "../../../icons/navigation/IconEdit.vue.js";
@@ -14,13 +14,13 @@ import PlaceholderOrganizationPic from "../../../icons/placeholders/PlaceholderO
14
14
  import membershipsStore from "../../store/memberships.store.js";
15
15
  import { actions, state as state$1 } from "../../store/organizations.js";
16
16
  /* empty css */
17
- /* empty css */
17
+ /* empty css */
18
18
  /* empty css */
19
19
  /* empty css */
20
20
  /* empty css */
21
21
  /* empty css */
22
22
  /* empty css */
23
- /* empty css */
23
+ /* empty css */
24
24
  /* empty css */
25
25
  /* empty css */
26
26
  import { state } from "../../../auth/views/store/auth.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 Menu = require("../../../../components/Menu/Menu.vue.cjs");
4
+ const Menu = require("../../../../components/Menu/Menu.vue2.cjs");
5
5
  const MenuItem = require("../../../../components/Menu/MenuItem.vue.cjs");
6
6
  ;/* empty css */
7
7
  const IconProducts = require("../../../icons/entities/IconProducts.vue.cjs");
@@ -1,5 +1,5 @@
1
1
  import { ref, onMounted, createElementBlock, openBlock, createVNode, withCtx, createBlock, createCommentVNode, unref, createElementVNode } from "vue";
2
- import _sfc_main$1 from "../../../../components/Menu/Menu.vue.js";
2
+ import _sfc_main$1 from "../../../../components/Menu/Menu.vue2.js";
3
3
  import _sfc_main$2 from "../../../../components/Menu/MenuItem.vue.js";
4
4
  /* empty css */
5
5
  import _sfc_main$4 from "../../../icons/entities/IconProducts.vue.js";
@@ -4,7 +4,7 @@ const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const Field = require("../../../../components/Field/Field.vue.cjs");
6
6
  ;/* empty css */
7
- ;/* empty css */
7
+ ;/* empty css */
8
8
  const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.cjs");
9
9
  ;/* empty css */
10
10
  ;/* empty css */
@@ -2,7 +2,7 @@ import { ref, watchEffect, resolveComponent, createElementBlock, openBlock, crea
2
2
  import { useRouter, useRoute } from "vue-router";
3
3
  import Field from "../../../../components/Field/Field.vue.js";
4
4
  /* empty css */
5
- /* empty css */
5
+ /* empty css */
6
6
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
7
7
  /* empty css */
8
8
  /* empty css */
@@ -6,7 +6,7 @@ require("../../../../../../node_modules/.pnpm/js-cookie@3.0.5/node_modules/js-co
6
6
  ;/* empty css */
7
7
  ;/* empty css */
8
8
  ;/* empty css */
9
- ;/* empty css */
9
+ ;/* empty css */
10
10
  ;/* empty css */
11
11
  const CardOrganization = require("../blocks/CardOrganization.vue.cjs");
12
12
  const EmptyState = require("../blocks/EmptyState.vue.cjs");
@@ -4,7 +4,7 @@ import "../../../../../../node_modules/.pnpm/js-cookie@3.0.5/node_modules/js-coo
4
4
  /* empty css */
5
5
  /* empty css */
6
6
  /* empty css */
7
- /* empty css */
7
+ /* empty css */
8
8
  /* empty css */
9
9
  import _sfc_main$2 from "../blocks/CardOrganization.vue.js";
10
10
  import _sfc_main$1 from "../blocks/EmptyState.vue.js";
@@ -13,7 +13,7 @@ const gallery_backoffice_router = require("../../gallery/router/gallery.backoffi
13
13
  const payments_router = require("../../wallet/views/router/payments.router.cjs");
14
14
  const auth_validation = require("../../auth/views/middlewares/auth.validation.cjs");
15
15
  require("vue");
16
- ;/* empty css */
16
+ ;/* empty css */
17
17
  require("../../../components/Menu/MenuItem.vue.cjs");
18
18
  ;/* empty css */
19
19
  require("vue-router");
@@ -11,7 +11,7 @@ import gallery from "../../gallery/router/gallery.backoffice.router.js";
11
11
  import payments from "../../wallet/views/router/payments.router.js";
12
12
  import { requiresAuth } from "../../auth/views/middlewares/auth.validation.js";
13
13
  import "vue";
14
- /* empty css */
14
+ /* empty css */
15
15
  import "../../../components/Menu/MenuItem.vue.js";
16
16
  /* empty css */
17
17
  import "vue-router";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const IconEdit = require("../../../../icons/navigation/IconEdit.vue.cjs");
5
5
  const IconAdd = require("../../../../icons/navigation/IconAdd.vue.cjs");
6
- ;/* empty css */
6
+ ;/* empty css */
7
7
  ;/* empty css */
8
8
  ;/* empty css */
9
9
  const vueRouter = require("vue-router");
@@ -1,7 +1,7 @@
1
1
  import { ref, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, createVNode, createBlock, unref, withCtx, createTextVNode, toDisplayString, Fragment, renderList } from "vue";
2
2
  import _sfc_main$1 from "../../../../icons/navigation/IconEdit.vue.js";
3
3
  import _sfc_main$2 from "../../../../icons/navigation/IconAdd.vue.js";
4
- /* empty css */
4
+ /* empty css */
5
5
  /* empty css */
6
6
  /* empty css */
7
7
  import { useRouter } from "vue-router";
@@ -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 Loader = require("../../../../components/Loader/Loader.vue.cjs");
4
+ const Loader = require("../../../../components/Loader/Loader.vue2.cjs");
5
5
  ;/* empty css */
6
6
  const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.cjs");
7
7
  const _hoisted_1 = { class: "product-360-viewer" };
@@ -1,5 +1,5 @@
1
1
  import { ref, computed, watch, onMounted, onUnmounted, createElementBlock, openBlock, createStaticVNode, createVNode, Transition, withCtx, createCommentVNode, withModifiers, createBlock } from "vue";
2
- import Loader from "../../../../components/Loader/Loader.vue.js";
2
+ import Loader from "../../../../components/Loader/Loader.vue2.js";
3
3
  /* empty css */
4
4
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
5
5
  const _hoisted_1 = { class: "product-360-viewer" };
@@ -5,7 +5,7 @@ const vueRouter = require("vue-router");
5
5
  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
- ;/* empty css */
8
+ ;/* empty css */
9
9
  ;/* empty css */
10
10
  const Block = require("../../../../components/Block/Block.vue.cjs");
11
11
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
@@ -3,7 +3,7 @@ import { useRoute, useRouter } from "vue-router";
3
3
  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
- /* empty css */
6
+ /* empty css */
7
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";
@@ -8,14 +8,14 @@ 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");
10
10
  const FieldTags = require("../../../../components/FieldTags/FieldTags.vue.cjs");
11
- ;/* empty css */
11
+ ;/* empty css */
12
+ ;/* empty css */
12
13
  ;/* empty css */
13
- ;/* empty css */
14
14
  ;/* empty css */
15
15
  ;/* empty css */
16
16
  const IconCheckmark = require("../../../icons/navigation/IconCheckmark.vue.cjs");
17
17
  ;/* empty css */
18
- ;/* empty css */
18
+ ;/* empty css */
19
19
  ;/* empty css */
20
20
  const Block = require("../../../../components/Block/Block.vue.cjs");
21
21
  const globals = require("../../../globals/views/store/globals.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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"}
@@ -6,14 +6,14 @@ 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";
8
8
  import _sfc_main$6 from "../../../../components/FieldTags/FieldTags.vue.js";
9
- /* empty css */
9
+ /* empty css */
10
+ /* empty css */
10
11
  /* empty css */
11
- /* empty css */
12
12
  /* empty css */
13
13
  /* empty css */
14
14
  import _sfc_main$1 from "../../../icons/navigation/IconCheckmark.vue.js";
15
15
  /* empty css */
16
- /* empty css */
16
+ /* empty css */
17
17
  /* empty css */
18
18
  import _sfc_main$2 from "../../../../components/Block/Block.vue.js";
19
19
  import { state as state$2 } from "../../../globals/views/store/globals.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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"}
@@ -7,7 +7,7 @@ const mixins = require("../../../globals/views/mixins/mixins.cjs");
7
7
  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
- ;/* empty css */
10
+ ;/* empty css */
11
11
  ;/* empty css */
12
12
  ;/* empty css */
13
13
  ;/* empty css */
@@ -5,7 +5,7 @@ import { useGlobalMixins } from "../../../globals/views/mixins/mixins.js";
5
5
  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
- /* empty css */
8
+ /* empty css */
9
9
  /* empty css */
10
10
  /* empty css */
11
11
  /* empty css */
@@ -7,7 +7,7 @@ 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
9
  const Button = require("../../../../components/Button/Button.vue.cjs");
10
- const EditImages = require("../../../../components/EditImages/EditImages.vue.cjs");
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");
13
13
  const IconDelete = require("../../../icons/navigation/IconDelete.vue.cjs");
@@ -5,7 +5,7 @@ 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
7
  import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
8
- import _sfc_main$4 from "../../../../components/EditImages/EditImages.vue.js";
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";
11
11
  import _sfc_main$a 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 vueRouter = require("vue-router");
5
5
  const vueI18n = require("vue-i18n");
6
- const Loader = require("../../../../components/Loader/Loader.vue.cjs");
6
+ const Loader = require("../../../../components/Loader/Loader.vue2.cjs");
7
7
  ;/* empty css */
8
8
  const FieldBig = require("../../../../components/FieldBig/FieldBig.vue.cjs");
9
9
  const SectionProduct = require("../sections/SectionProduct.vue.cjs");
@@ -1,7 +1,7 @@
1
1
  import { ref, watchEffect, onMounted, createElementBlock, openBlock, createBlock, createCommentVNode, createVNode, unref, isRef } from "vue";
2
2
  import { useRouter } from "vue-router";
3
3
  import { useI18n } from "vue-i18n";
4
- import Loader from "../../../../components/Loader/Loader.vue.js";
4
+ import Loader from "../../../../components/Loader/Loader.vue2.js";
5
5
  /* empty css */
6
6
  import _sfc_main$1 from "../../../../components/FieldBig/FieldBig.vue.js";
7
7
  import _sfc_main$2 from "../sections/SectionProduct.vue.js";
@@ -10,7 +10,7 @@ require("vue-i18n");
10
10
  const categories = require("../../store/categories.cjs");
11
11
  ;/* empty css */
12
12
  const Field = require("../../../../components/Field/Field.vue.cjs");
13
- const Filters = require("../../../globals/views/components/sections/Filters.vue.cjs");
13
+ const Filters = require("../../../globals/views/components/sections/Filters.vue2.cjs");
14
14
  const Calendar = require("../../../../components/Calendar/Calendar.vue2.cjs");
15
15
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
16
16
  const CardProduct = require("../blocks/CardProduct.vue.cjs");
@@ -8,7 +8,7 @@ import "vue-i18n";
8
8
  import { actions as actions$1 } from "../../store/categories.js";
9
9
  /* empty css */
10
10
  import Field from "../../../../components/Field/Field.vue.js";
11
- import Filters from "../../../globals/views/components/sections/Filters.vue.js";
11
+ import Filters from "../../../globals/views/components/sections/Filters.vue2.js";
12
12
  import Calendar from "../../../../components/Calendar/Calendar.vue2.js";
13
13
  import _sfc_main$7 from "../../../../components/Popup/Popup.vue.js";
14
14
  import _sfc_main$6 from "../blocks/CardProduct.vue.js";
@@ -11,7 +11,7 @@ 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");
14
- const EditImages = require("../../../../components/EditImages/EditImages.vue.cjs");
14
+ const EditImages = require("../../../../components/EditImages/EditImages.vue2.cjs");
15
15
  const EditIngredients = require("./EditIngredients.vue.cjs");
16
16
  const PlaceholderImage = require("../../../icons/placeholders/PlaceholderImage.vue.cjs");
17
17
  const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
@@ -9,7 +9,7 @@ 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";
12
- import _sfc_main$9 from "../../../../components/EditImages/EditImages.vue.js";
12
+ import _sfc_main$9 from "../../../../components/EditImages/EditImages.vue2.js";
13
13
  import _sfc_main$8 from "./EditIngredients.vue.js";
14
14
  import PlaceholderImage from "../../../icons/placeholders/PlaceholderImage.vue.js";
15
15
  import _sfc_main$5 from "../../../icons/navigation/IconEdit.vue.js";
@@ -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 {