@ozdao/prometheus-framework 0.2.48 → 0.2.51

Sign up to get free protection for your applications and to get access to all the features.
Files changed (233) hide show
  1. package/dist/auth.server.js +27 -25
  2. package/dist/auth.server.mjs +27 -25
  3. package/dist/community.server.js +1 -1
  4. package/dist/community.server.mjs +1 -1
  5. package/dist/events.server.js +1 -1
  6. package/dist/events.server.mjs +1 -1
  7. package/dist/files.server.js +1 -1
  8. package/dist/files.server.mjs +1 -1
  9. package/dist/gallery.server.js +1 -1
  10. package/dist/gallery.server.mjs +1 -1
  11. package/dist/index-3981e903.mjs +217 -0
  12. package/dist/index-4eecfdb9.js +216 -0
  13. package/dist/main-203b36b6.mjs +13628 -0
  14. package/dist/main-_b1_i8mt.mjs +13606 -0
  15. package/dist/main-a7ae4ce5.js +91 -0
  16. package/dist/main-uiQFxEks.js +91 -0
  17. package/dist/main.css +1 -1
  18. package/dist/middlewares.server.js +1 -1
  19. package/dist/middlewares.server.mjs +1 -1
  20. package/dist/node_modules/vue-select/dist/vue-select.es.cjs +1 -3
  21. package/dist/node_modules/vue-select/dist/vue-select.es.js +49 -645
  22. package/dist/organizations.server.js +35 -43
  23. package/dist/organizations.server.mjs +35 -43
  24. package/dist/products.server.js +107 -24
  25. package/dist/products.server.mjs +107 -24
  26. package/dist/prometheus-framework/src/components/Button/Button.vue.cjs +1 -1
  27. package/dist/prometheus-framework/src/components/Button/Button.vue.js +2 -225
  28. package/dist/prometheus-framework/src/components/Button/Button.vue2.cjs +1 -1
  29. package/dist/prometheus-framework/src/components/Button/Button.vue2.js +225 -2
  30. package/dist/prometheus-framework/src/components/Checkbox/Checkbox.vue.cjs +1 -1
  31. package/dist/prometheus-framework/src/components/Checkbox/Checkbox.vue.js +61 -2
  32. package/dist/prometheus-framework/src/components/Checkbox/Checkbox.vue2.cjs +1 -1
  33. package/dist/prometheus-framework/src/components/Checkbox/Checkbox.vue2.js +2 -61
  34. package/dist/prometheus-framework/src/components/Field/Field.vue.cjs +1 -1
  35. package/dist/prometheus-framework/src/components/Field/Field.vue.js +2 -76
  36. package/dist/prometheus-framework/src/components/Field/Field.vue2.cjs +1 -1
  37. package/dist/prometheus-framework/src/components/Field/Field.vue2.js +76 -2
  38. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  39. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.js +1 -1
  40. package/dist/prometheus-framework/src/components/SelectMulti/SelectMulti.vue.cjs +1 -1
  41. package/dist/prometheus-framework/src/components/SelectMulti/SelectMulti.vue.js +6 -6
  42. package/dist/prometheus-framework/src/components/Tab/Tab.vue.cjs +1 -1
  43. package/dist/prometheus-framework/src/components/Tab/Tab.vue.js +2 -44
  44. package/dist/prometheus-framework/src/components/Tab/Tab.vue2.cjs +1 -1
  45. package/dist/prometheus-framework/src/components/Tab/Tab.vue2.js +44 -2
  46. package/dist/prometheus-framework/src/modules/auth/components/layouts/Auth.vue.cjs +1 -1
  47. package/dist/prometheus-framework/src/modules/auth/components/layouts/Auth.vue.js +3 -3
  48. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterCode.vue.cjs +1 -1
  49. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterCode.vue.js +1 -1
  50. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterPassword.vue.cjs +1 -1
  51. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterPassword.vue.js +3 -3
  52. package/dist/prometheus-framework/src/modules/auth/components/pages/Invite.vue.cjs +1 -1
  53. package/dist/prometheus-framework/src/modules/auth/components/pages/Invite.vue.js +44 -32
  54. package/dist/prometheus-framework/src/modules/auth/components/pages/ResetPassword.vue.cjs +1 -1
  55. package/dist/prometheus-framework/src/modules/auth/components/pages/ResetPassword.vue.js +3 -3
  56. package/dist/prometheus-framework/src/modules/auth/components/pages/SignIn.vue.cjs +1 -1
  57. package/dist/prometheus-framework/src/modules/auth/components/pages/SignIn.vue.js +3 -3
  58. package/dist/prometheus-framework/src/modules/auth/components/pages/SignUp.vue.cjs +1 -1
  59. package/dist/prometheus-framework/src/modules/auth/components/pages/SignUp.vue.js +3 -3
  60. package/dist/prometheus-framework/src/modules/auth/store/auth.cjs +1 -1
  61. package/dist/prometheus-framework/src/modules/auth/store/auth.js +45 -44
  62. package/dist/prometheus-framework/src/modules/auth/store/invites.cjs +1 -1
  63. package/dist/prometheus-framework/src/modules/auth/store/invites.js +5 -5
  64. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
  65. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -1
  66. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  67. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +3 -3
  68. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  69. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  70. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  71. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  72. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  73. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +3 -3
  74. package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.cjs +1 -1
  75. package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.js +1 -1
  76. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
  77. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
  78. package/dist/prometheus-framework/src/modules/gallery/components/sections/GalleryWithCategories.vue.cjs +1 -1
  79. package/dist/prometheus-framework/src/modules/gallery/components/sections/GalleryWithCategories.vue.js +2 -2
  80. package/dist/prometheus-framework/src/modules/globals/components/blocks/CardHeader.vue.cjs +1 -1
  81. package/dist/prometheus-framework/src/modules/globals/components/blocks/CardHeader.vue.js +1 -1
  82. package/dist/prometheus-framework/src/modules/globals/store/globals.cjs +1 -1
  83. package/dist/prometheus-framework/src/modules/globals/store/globals.js +22 -21
  84. package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.cjs +1 -1
  85. package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.js +3 -3
  86. package/dist/prometheus-framework/src/modules/mobile/components/Menu/Menu.vue.cjs +1 -1
  87. package/dist/prometheus-framework/src/modules/mobile/components/Menu/Menu.vue.js +11 -2
  88. package/dist/prometheus-framework/src/modules/mobile/components/Menu/Menu.vue2.cjs +1 -1
  89. package/dist/prometheus-framework/src/modules/mobile/components/Menu/Menu.vue2.js +2 -11
  90. package/dist/prometheus-framework/src/modules/orders/components/pages/EditOrder.vue.cjs +1 -1
  91. package/dist/prometheus-framework/src/modules/orders/components/pages/EditOrder.vue.js +1 -1
  92. package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
  93. package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.js +1 -1
  94. package/dist/prometheus-framework/src/modules/orders/components/sections/FormOrderDetails.vue.cjs +1 -1
  95. package/dist/prometheus-framework/src/modules/orders/components/sections/FormOrderDetails.vue.js +1 -1
  96. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +1 -1
  97. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardDepartment.vue.js +17 -17
  98. package/dist/prometheus-framework/src/modules/organizations/components/blocks/DepartmentMemberModify.vue.cjs +1 -1
  99. package/dist/prometheus-framework/src/modules/organizations/components/blocks/DepartmentMemberModify.vue.js +49 -42
  100. package/dist/prometheus-framework/src/modules/organizations/components/blocks/User.vue.cjs +1 -1
  101. package/dist/prometheus-framework/src/modules/organizations/components/blocks/User.vue.js +48 -15
  102. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  103. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  104. package/dist/prometheus-framework/src/modules/organizations/components/pages/Department.vue.cjs +1 -1
  105. package/dist/prometheus-framework/src/modules/organizations/components/pages/Department.vue.js +38 -37
  106. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  107. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +249 -61
  108. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  109. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.js +78 -45
  110. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
  111. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.js +160 -86
  112. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  113. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +3 -3
  114. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  115. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  116. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  117. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  118. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  119. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +52 -54
  120. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  121. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +20 -26
  122. package/dist/prometheus-framework/src/modules/organizations/organizations.client.cjs +1 -1
  123. package/dist/prometheus-framework/src/modules/organizations/organizations.client.js +40 -46
  124. package/dist/prometheus-framework/src/modules/organizations/store/departments.cjs +1 -1
  125. package/dist/prometheus-framework/src/modules/organizations/store/departments.js +34 -30
  126. package/dist/prometheus-framework/src/modules/organizations/store/memberships.cjs +1 -1
  127. package/dist/prometheus-framework/src/modules/organizations/store/memberships.js +30 -28
  128. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
  129. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +18 -18
  130. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.cjs +1 -1
  131. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.js +1 -1
  132. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.cjs +1 -1
  133. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.js +1 -1
  134. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +1 -1
  135. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +1 -1
  136. package/dist/prometheus-framework/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
  137. package/dist/prometheus-framework/src/modules/products/components/pages/Leftovers.vue.js +1 -1
  138. package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.cjs +1 -1
  139. package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.js +33 -28
  140. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  141. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +123 -113
  142. package/dist/prometheus-framework/src/modules/products/components/pages/ProductsBackoffice.vue.cjs +1 -1
  143. package/dist/prometheus-framework/src/modules/products/components/pages/ProductsBackoffice.vue.js +1 -1
  144. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.cjs +1 -1
  145. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.js +1 -1
  146. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
  147. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +2 -2
  148. package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.cjs +1 -1
  149. package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
  150. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  151. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  152. package/dist/prometheus-framework/src/modules/products/store/products.cjs +1 -1
  153. package/dist/prometheus-framework/src/modules/products/store/products.js +1 -1
  154. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  155. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  156. package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.cjs +1 -1
  157. package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.js +3 -3
  158. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileBlogposts.vue.cjs +1 -1
  159. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileBlogposts.vue.js +1 -1
  160. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEdit.vue.cjs +1 -1
  161. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEdit.vue.js +3 -3
  162. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEvents.vue.cjs +1 -1
  163. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEvents.vue.js +1 -1
  164. package/dist/prometheus-framework/src/modules/wallet/components/pages/Wallet.vue.cjs +1 -1
  165. package/dist/prometheus-framework/src/modules/wallet/components/pages/Wallet.vue.js +1 -1
  166. package/dist/prometheus-framework.cjs.js +1 -1
  167. package/dist/prometheus-framework.es.js +1 -1
  168. package/dist/reports.server.js +1 -1
  169. package/dist/reports.server.mjs +1 -1
  170. package/dist/style.css +1 -1
  171. package/dist/web-7p76PGnO.mjs +55 -0
  172. package/dist/web-c63f0ecc.js +1 -0
  173. package/dist/web-d8173758.mjs +55 -0
  174. package/dist/web-dn8vgptQ.js +1 -0
  175. package/package.json +1 -1
  176. package/src/components/SelectMulti/SelectMulti.vue +1 -1
  177. package/src/modules/auth/components/pages/Invite.vue +17 -6
  178. package/src/modules/auth/controllers/auth.controller.js +24 -16
  179. package/src/modules/auth/controllers/invites.controller.js +17 -8
  180. package/src/modules/auth/store/auth.js +8 -1
  181. package/src/modules/auth/store/invites.js +1 -0
  182. package/src/modules/globals/store/globals.js +5 -1
  183. package/src/modules/landing/components/blocks/MapBlock.vue +37 -0
  184. package/src/modules/landing/components/pages/404.vue +3 -0
  185. package/src/modules/landing/components/pages/Governance.vue +155 -0
  186. package/src/modules/landing/components/pages/Home.vue +52 -0
  187. package/src/modules/landing/components/pages/Hotel.vue +54 -0
  188. package/src/modules/landing/components/pages/Page.vue +184 -0
  189. package/src/modules/landing/components/sections/AboutSection.vue +69 -0
  190. package/src/modules/landing/components/sections/Examples.vue +90 -0
  191. package/src/modules/landing/components/sections/FeatureSection.vue +80 -0
  192. package/src/modules/landing/components/sections/GiftSection.vue +63 -0
  193. package/src/modules/landing/components/sections/HeroSection.vue +74 -0
  194. package/src/modules/landing/components/sections/HowItWorksSection.vue +88 -0
  195. package/src/modules/landing/components/sections/HowToBuyWDR.vue +131 -0
  196. package/src/modules/landing/components/sections/InstagramSection.vue +181 -0
  197. package/src/modules/landing/components/sections/MapSection.vue +91 -0
  198. package/src/modules/landing/components/sections/SectionsSection.vue +69 -0
  199. package/src/modules/landing/components/sections/SliderFeatures.vue +131 -0
  200. package/src/modules/landing/components/sections/WhatIsWDRSection.vue +116 -0
  201. package/src/modules/landing/router/landing.js +34 -0
  202. package/src/modules/middlewares/server/verifySignUp.js +4 -0
  203. package/src/modules/mobile/components/BottomNavigation/BottomNavigation.vue +86 -0
  204. package/src/modules/mobile/components/BottomSheet/BottomSheet.vue +86 -0
  205. package/src/modules/mobile/components/NavigationBar/NavigationBar.vue +132 -0
  206. package/src/modules/mobile/components/Walkthrough/Walkthrough.vue +195 -0
  207. package/src/modules/organizations/components/blocks/CardDepartment.vue +3 -3
  208. package/src/modules/organizations/components/blocks/DepartmentMemberModify.vue +52 -44
  209. package/src/modules/organizations/components/blocks/User.vue +42 -10
  210. package/src/modules/organizations/components/pages/Department.vue +7 -6
  211. package/src/modules/organizations/components/pages/DepartmentEdit.vue +110 -134
  212. package/src/modules/organizations/components/pages/Members.vue +85 -26
  213. package/src/modules/organizations/components/pages/Organization.vue +59 -4
  214. package/src/modules/organizations/components/sections/MembersAdd.vue +27 -34
  215. package/src/modules/organizations/components/sections/Organizations.vue +0 -1
  216. package/src/modules/organizations/controllers/memberships.controller.js +33 -26
  217. package/src/modules/organizations/controllers/organizations.controller.js +1 -1
  218. package/src/modules/organizations/models/department.model.js +0 -19
  219. package/src/modules/organizations/models/membership.model.js +4 -0
  220. package/src/modules/organizations/organizations.client.js +1 -6
  221. package/src/modules/organizations/store/departments.js +48 -44
  222. package/src/modules/organizations/store/memberships.js +11 -3
  223. package/src/modules/products/components/blocks/CardPosition.vue +2 -2
  224. package/src/modules/products/components/pages/Product.vue +6 -1
  225. package/src/modules/products/components/pages/ProductEdit.vue +48 -28
  226. package/src/modules/products/controllers/products.controller.js +99 -33
  227. package/src/modules/products/models/product.model.js +16 -1
  228. package/src/modules/products/store/products.js +1 -1
  229. package/src/modules/users/components/pages/ProfileOrganizations.vue +41 -7
  230. package/src/styles/layout.scss +1 -1
  231. package/src/modules/organizations/components/sections/FeedDepartments.vue +0 -64
  232. package/src/modules/organizations/components/sections/MembersList.vue +0 -85
  233. package/src/modules/organizations/store/invites.js +0 -93
@@ -1,184 +1,158 @@
1
1
  <template>
2
- <div class="for-transition w-100">
3
-
4
- <div class="pd-b-zero pd-t-zero pd-thin">
5
- <Breadcrumbs class="pd-medium bg-grey radius-big"/>
6
- </div>
2
+ <div class="for-transition pd-thin w-100">
3
+
4
+ <header class="mn-b-thin flex-nowrap flex bg-grey pd-medium radius-big">
5
+ <h1 v-if="route.params.department" class="mn-r-auto">Edit Department</h1>
6
+ <h1 v-else class="mn-r-auto">Create Department</h1>
7
7
 
8
- <div class="pd-thin">
9
- <header class="flex-nowrap flex bg-grey pd-medium radius-big">
10
- <h1 v-if="route.params.department" class="mn-r-auto">Edit Spot</h1>
11
- <h1 v-else class="mn-r-auto">Create Spot</h1>
8
+ <section class="flex-nowrap flex pd-thin">
9
+ <Button :submit="onSubmit" :callback="redirectTo" class="bg-main">Save Department</Button>
10
+ </section>
12
11
 
13
- <section class="flex-nowrap flex pd-thin">
14
- <Button :submit="onSubmit" :callback="redirectTo">Save Spot</Button>
15
- </section>
12
+ </header>
16
13
 
17
- </header>
14
+ <div class="mn-b-thin bg-grey pd-medium o-hidden radius-big">
15
+ <h3 class="mn-b-semi">Profile</h3>
16
+
17
+ <div v-if="departments.state.department.profile" class="radius-small flex-nowrap flex">
18
+ <UploadImage
19
+ v-model:photo="departments.state.department.profile.photo"
20
+ :uploadPath="'organizations/' + departments.state.department.name + '/avatars'"
21
+ class="w-8r aspect-1x1 o-hidden mn-r-small radius-extra"
22
+ />
23
+ <div class="w-100 flex-child-grow-1 flex-child ">
24
+ <Field
25
+ v-model:field="departments.state.department.profile.name"
26
+ label="Name"
27
+ placeholder="Department Name"
28
+ class="mn-b-small bg-white radius-small pd-medium"
29
+ :validation="organizationName"
30
+ />
31
+ <Field
32
+ v-model:field="departments.state.department.profile.description"
33
+ label="Description"
34
+ placeholder="Department description (max 120 symbols)"
35
+ class="bg-white radius-small pd-medium"
36
+ :validation="organizationName"
37
+ />
38
+ </div>
39
+ </div>
18
40
  </div>
19
41
 
20
- <!-- <div class="pd-b-zero pd-t-zero pd-thin cols-2 gap-thin">
21
-
22
- <div class="flex-stretch flex-column flex">
42
+ <Block
43
+ title="Team"
44
+ placeholder="No members added yet"
45
+ :actions="[{
46
+ label: '+',
47
+ function: () => openMemberPopup()
48
+ }]"
49
+ class="cols-1 gap-thin mn-b-thin"
50
+ >
51
+ <User
52
+ class="bg-grey o-hidden radius-small mn-b-thin"
53
+ v-for="(member, index) in departments.state.department.members"
54
+ :key="index"
55
+ :user="member.user"
56
+ :position="member.position"
57
+ @click="openMemberPopup(index)"
58
+ />
59
+ </Block>
60
+
61
+ <Popup
62
+ title="Добавить участника"
63
+ @close-popup="closeMemberPopup"
64
+ :isPopupOpen="isOpenAddMemberPopup"
65
+ >
66
+ <DepartmentMemberModify
67
+ :members="departments.state.department.members"
68
+ :member="selectedMember"
69
+ :users="memberships.state.memberships"
70
+ @callback="closeMemberPopup"
71
+ />
72
+ </Popup>
73
+
23
74
 
24
- <div class="mn-b-thin bg-grey pd-medium o-hidden radius-big">
25
- <h3 class="mn-b-semi">Profile</h3>
75
+ <div class="cols-2 gap-thin">
76
+
77
+ <div class="bg-grey pd-medium o-hidden radius-big">
78
+ <h3 class="mn-b-semi">Department Settings</h3>
26
79
 
27
- <div v-if="departments.state.department.profile" class="radius-small flex-nowrap flex">
28
- <UploadImage
29
- v-model:photo="departments.state.department.profile.photo"
30
- :uploadPath="'organizations/' + departments.state.department.name + '/avatars'"
31
- class="w-8r aspect-1x1 o-hidden mn-r-small radius-extra"
80
+ <p class="p-medium mn-b-small">Please settings for your department:</p>
81
+ <div class="cols-1 gap-thin">
82
+ <h4>Products</h4>
83
+ <Checkbox
84
+ label="Hidden department"
85
+ name="Delivery"
86
+ value="pickup"
87
+ class="w-100 mn-r-small bg-white radius-small pd-small"
88
+ :radio="departments.state.department.delivery"
32
89
  />
33
- <div class="w-100 flex-child-grow-1 flex-child ">
34
- <Field
35
- v-model:field="departments.state.department.profile.name"
36
- label="Name"
37
- placeholder="Spot Name"
38
- class="mn-b-small bg-white radius-small pd-medium"
39
- :validation="organizationName"
40
- />
41
- <Field
42
- v-model:field="departments.state.department.profile.description"
43
- label="Description"
44
- placeholder="Spot description (max 120 symbols)"
45
- class="bg-white radius-small pd-medium"
46
- :validation="organizationName"
47
- />
48
- </div>
49
90
  </div>
50
91
  </div>
51
92
 
52
93
  <div class="bg-grey pd-medium o-hidden radius-big">
53
- <h3 class="mn-b-semi">Details</h3>
94
+ <h3 class="mn-b-semi">Acessess</h3>
95
+
96
+ <p class="p-medium mn-b-small">Please select organization accesses for user in department:</p>
54
97
 
55
- <p class="p-medium mn-b-small">Please the available delivery options:</p>
56
- <div class="mn-b-medium flex-nowrap flex">
98
+ <div class="cols-1 gap-thin">
99
+ <h4>Products</h4>
57
100
  <Checkbox
58
- label="Pickup"
101
+ label="See products"
59
102
  name="Delivery"
60
103
  value="pickup"
61
104
  class="w-100 mn-r-small bg-white radius-small pd-small"
62
105
  :radio="departments.state.department.delivery"
63
106
  />
64
107
  <Checkbox
65
- label="Delivery"
108
+ label="Edit products"
66
109
  name="Delivery"
67
110
  value="courier"
68
111
  class="w-100 mn-r-small bg-white radius-small pd-small"
69
112
  :radio="departments.state.department.delivery"
70
113
  />
71
114
  <Checkbox
72
- label="Post"
115
+ label="Delete orders"
73
116
  name="Delivery"
74
117
  value="post"
75
118
  class="w-100 bg-white radius-small pd-small"
76
119
  :radio="departments.state.department.delivery"
77
120
  />
78
- </div>
79
-
80
- <p class="p-medium mn-b-small">Please select the available payment methods:</p>
81
- <div class="flex-nowrap flex">
121
+ <h4>Orders</h4>
82
122
  <Checkbox
83
- label="Cash"
84
- name="Payment"
85
- value="cash"
123
+ label="See orders"
124
+ name="Delivery"
125
+ value="pickup"
86
126
  class="w-100 mn-r-small bg-white radius-small pd-small"
87
- :radio="departments.state.department.payment"
127
+ :radio="departments.state.department.delivery"
88
128
  />
89
129
  <Checkbox
90
- label="Bank Transfer"
91
- name="Payment"
92
- value="bank"
130
+ label="Confirm orders"
131
+ name="Delivery"
132
+ value="courier"
93
133
  class="w-100 mn-r-small bg-white radius-small pd-small"
94
- :radio="departments.state.department.payment"
134
+ :radio="departments.state.department.delivery"
95
135
  />
96
136
  <Checkbox
97
- label="Crypto"
98
- name="Payment"
99
- value="crypto"
137
+ label="Delete orders"
138
+ name="Delivery"
139
+ value="post"
100
140
  class="w-100 bg-white radius-small pd-small"
101
- :radio="departments.state.department.payment"
141
+ :radio="departments.state.department.delivery"
102
142
  />
103
143
  </div>
104
144
  </div>
105
- </div>
106
145
 
107
- <div class="bg-grey pd-medium o-hidden radius-big">
108
- <h3 class="mn-b-semi">Location</h3>
109
- <Address
110
- :apiKey="GOOGLE_MAPS_API_KEY"
111
- :address="departments.state.department.address"
112
- :location="departments.state.department.location"
113
- label="Address"
114
- placeholder="Enter delivery address"
115
- class="
116
- bg-white radius-small pd-small mn-b-small
117
- "
118
- @update:location="newLocation => {
119
- departments.state.department.location = newLocation;
120
- }"
121
- @update:address="newAddress => {
122
- departments.state.department.address = newAddress;
123
- }"
124
- />
125
-
126
- <p class="mn-b-small p-medium">Or choose on map:</p>
127
-
128
- <LocationMarker
129
- :address="departments.state.department.address"
130
- :location="departments.state.department.location"
131
- :apiKey="GOOGLE_MAPS_API_KEY"
132
- class="radius-big o-hidden"
133
- @update:location="newLocation => {
134
- departments.state.department.location = newLocation;
135
- }"
136
- @update:address="newAddress => {
137
- departments.state.department.address = newAddress;
138
- }"
139
- />
140
146
 
141
147
  </div>
142
- </div> -->
143
148
 
144
- <section class="flex-nowrap flex pd-thin">
145
- <Button :submit="onDelete" :callback="redirectToDash" class="bg-grey">Delete Spot</Button>
149
+ <section v-if="route.params.department" class="flex-nowrap flex pd-thin">
150
+ <Button :submit="onDelete" :callback="redirectToDash" class="bg-grey">Delete Department</Button>
146
151
  </section>
147
152
 
148
153
 
149
154
 
150
- <!-- <div id="dash" class="pd-medium bg-white">
151
-
152
-
153
- <div class="mn-b-regular flex-v-center flex-nowrap flex">
154
- <h3 class="mn-r-small">Команда</h3>
155
- <div>
156
- <a class="t-main h5" @click="openMemberPopup()">+</a>
157
- </div>
158
- </div>
159
-
160
- <Popup title="Добавить участника" @close-popup="closeMemberPopup" :isPopupOpen="isOpenAddMemberPopup">
161
- <DepartmentMemberModify
162
- :members="departments.state.department.members"
163
- :member="selectedMember"
164
- :users="users"
165
- @callback="closeMemberPopup"
166
- />
167
- </Popup>
168
-
169
-
170
- <ul class=mn-b-small>
171
- <li v-if="departments.state.department.members.length < 1">В отделе еще нет участников</li>
172
- <User
173
- class="bg-grey o-hidden radius-small mn-b-thin"
174
- v-for="(member, index) in departments.state.department.members"
175
- :key="index"
176
- :user="member.user"
177
- :position="member.position"
178
- @click="openMemberPopup(index)"
179
- />
180
- </ul>
181
-
155
+ <div id="dash" class="pd-medium bg-white">
182
156
 
183
157
  <Popup title="Добавить подотдел" @close-popup="closeDepartmentPopup" :isPopupOpen="isOpenDepartmentPopup">
184
158
  <DepartmentSubDepartmentModify
@@ -208,7 +182,7 @@
208
182
  </ul>
209
183
 
210
184
 
211
- </div> -->
185
+ </div>
212
186
  </div>
213
187
  </template>
214
188
 
@@ -219,7 +193,6 @@ import Cookies from "js-cookie";
219
193
  import Breadcrumbs from '@pf/src/components/Breadcrumbs/Breadcrumbs.vue'
220
194
  import UploadImage from '@pf/src/components/UploadImage/UploadImage.vue';
221
195
 
222
-
223
196
  import Tab from "@pf/src/components/Tab/Tab.vue";
224
197
  import Field from "@pf/src/components/Field/Field.vue";
225
198
  import Select from "@pf/src/components/Select/Select.vue";
@@ -228,6 +201,7 @@ import Address from "@pf/src/components/Address/Address.vue";
228
201
  import LocationMarker from "@pf/src/components/LocationMarker/LocationMarker.vue";
229
202
  import Button from "@pf/src/components/Button/Button.vue";
230
203
  import Popup from "@pf/src/components/Popup/Popup.vue";
204
+ import Block from '@pf/src/components/Block/Block.vue';
231
205
 
232
206
  import EditArray from "@pf/src/modules/organizations/components/blocks/EditArray.vue";
233
207
  import DepartmentSub from "@pf/src/modules/organizations/components/blocks/DepartmentSub.vue";
@@ -235,9 +209,11 @@ import DepartmentMemberModify from "@pf/src/modules/organizations/components/blo
235
209
  import DepartmentSubDepartmentModify from "@pf/src/modules/organizations/components/blocks/DepartmentMemberModify.vue";
236
210
  import User from '@pf/src/modules/organizations/components/blocks/User.vue';
237
211
 
238
- import * as departments from "@pf/src/modules/spots/store/spots";
212
+ import * as departments from "@pf/src/modules/organizations/store/departments";
239
213
  import * as memberships from "@pf/src/modules/organizations/store/memberships";
240
214
 
215
+
216
+
241
217
  const router = useRouter();
242
218
  const route = useRoute();
243
219
  const tabOrganization = ref("details");
@@ -245,7 +221,7 @@ const showAddNew = ref(false);
245
221
 
246
222
  async function fetchData() {
247
223
  if (route.params.department) {
248
- await memberships.actions.read(route.params.department);
224
+ await memberships.actions.read({target: route.params._id});
249
225
  }
250
226
  const users = ref(memberships.state.memberships);
251
227
 
@@ -1,67 +1,126 @@
1
1
  <template>
2
2
  <transition name="slide-fade">
3
- <div>
4
- <section class="mn-b-medium radius-medium pd-semi bg-white">
5
- <h2 class="mn-b-regular">Участники</h2>
6
- <p class="t-transp p-big">Добавляйте новых участников организации и настраивайте права доступа.</p>
3
+ <div class="pd-thin">
4
+ <section class="mn-b-medium radius-medium pd-semi bg-grey">
5
+ <h2 class="mn-b-regular">Members</h2>
6
+ <p class="t-transp p-big">Add new memberships to the group and configure access rights.</p>
7
7
  </section>
8
-
9
- <FeedDepartments
10
- :organization="organization.state.current"
11
- :memberships="members.state.memberships"
12
- />
13
-
8
+
14
9
  <MembersAdd
15
10
  :organization="organizationData"
16
11
  @send-invite="handleSendInvite"
17
12
  />
18
13
 
19
- <MembersList
20
- :organization="organization"
21
- :memberships="memberships"
22
- :invites="invites.state.invites"
23
- @removeInvite="removeInvite"
24
- @removeMember="removeMember"
14
+ <Tab
15
+ v-model:selected="tabMemberships"
16
+ class="mn-b-medium bg-grey radius-small"
17
+ :tabs="[
18
+ { name: 'Members', value: 'members' },
19
+ { name: 'Invites', value: 'invites' },
20
+ ]"
25
21
  />
22
+
23
+ <section class="mn-b-big radius-medium bg-white">
24
+ <!-- Members -->
25
+ <div
26
+ v-if="tabMemberships === 'members'"
27
+ class="cols-1 gap-thin"
28
+ >
29
+ <User
30
+ v-for="(member, index) in memberships.state.memberships"
31
+ :key="index"
32
+ :user="member"
33
+ @click="$router.push(`/app/profile/${member._id}`)"
34
+ class="bg-grey radius-small flex-nowrap flex pd-medium"
35
+
36
+ />
37
+ </div>
38
+ <!-- Invites -->
39
+ <div
40
+ v-if="tabMemberships === 'invites'"
41
+ >
42
+ <span v-if="invites.length < 1">В организации нет приглашений</span>
43
+ <div
44
+ v-for="(invite, index) in invites.state.invites"
45
+ class="br-grey br-1px br-solid radius-small mn-b-thin flex-nowrap flex-v-center flex pd-medium"
46
+ >
47
+
48
+ <span class="w-100 mn-r-small">{{invite.invitedEmail}} {{invite.invitedPhone}}</span>
49
+ <span class="t-transp">{{invite.status}}</span>
50
+
51
+ <div class="mn-l-medium flex-v-center flex">
52
+ <button @click="removeInvite(index,invite)" class="button-small button">×</button>
53
+ </div>
54
+
55
+ </div>
56
+ </div>
57
+
58
+
59
+ </section>
26
60
  </div>
27
61
  </transition>
28
62
  </template>
29
63
 
30
64
  <script setup>
31
- import { ref,onMounted } from 'vue';
65
+ import { ref, computed, onMounted } from 'vue';
32
66
  import { useRoute, useRouter } from 'vue-router'
33
67
 
34
- import FeedDepartments from '@pf/src/modules/organizations/components/sections/FeedDepartments.vue'
68
+ import Feed from '@pf/src/components/Feed/Feed.vue'
69
+ import Tab from '@pf/src/components/Tab/Tab.vue'
70
+ import Block from '@pf/src/components/Block/Block.vue'
71
+
72
+ import PlaceholderUserpic from '@pf/src/modules/icons/placeholders/PlaceholderUserpic.vue'
73
+
35
74
  import MembersAdd from '@pf/src/modules/organizations/components/sections/MembersAdd.vue';
36
- import MembersList from '@pf/src/modules/organizations/components/sections/MembersList.vue';
75
+
37
76
  // Mobile Module
38
77
  import Menu from '@pf/src/modules/mobile/components/Menu/Menu.vue'
39
78
  import MenuItem from '@pf/src/modules/mobile/components/Menu/MenuItem.vue'
40
79
 
80
+ import User from '@pf/src/modules/organizations/components/blocks/User.vue';
81
+
82
+
41
83
  import * as auth from '@pf/src/modules/auth/store/auth'
42
- import * as invites from '@pf/src/modules/organizations/store/invites';
43
- import * as members from '@pf/src/modules/organizations/store/memberships';
84
+ import * as invites from '@pf/src/modules/auth/store/invites';
85
+ import * as memberships from '@pf/src/modules/organizations/store/memberships';
44
86
  import * as organization from '@pf/src/modules/organizations/store/organizations'
87
+ import * as departments from '@pf/src/modules/organizations/store/departments';
45
88
 
46
89
  const route = useRoute()
47
-
90
+ const router = useRouter()
48
91
  const organizationData = ref(null)
49
92
 
93
+ const tabMemberships = ref('members')
94
+
50
95
  onMounted(async () => {
51
96
  organizationData.value = (await organization.actions.read({_id: route.params._id, user: auth.state.user._id}))[0]
52
- await members.actions.read(route.params._id)
97
+ await memberships.actions.read({target: route.params._id});
53
98
  await invites.actions.read(organizationData.value._id);
54
99
  })
55
100
 
101
+ const FirstLevelDepartments = computed(() => {
102
+ const departmentsState = departments.state.departments;
103
+
104
+ const subdepartmentIds = departmentsState.flatMap(department =>
105
+ department.subdepartments.map(subdepartment => subdepartment._id)
106
+ );
107
+
108
+ return departmentsState.filter(department =>
109
+ !subdepartmentIds.includes(department._id)
110
+ );
111
+ });
112
+
56
113
  async function handleSendInvite(invite) {
57
114
  await invites.actions.create(organizationData.value._id, invite);
58
115
  }
59
116
 
60
- async function removeMember(member) {
61
- await members.actions.delete(member._id);
117
+ async function removeMember(index,member) {
118
+ memberships.state.memberships.splice(index, 1);
119
+ await memberships.actions.delete(member._id);
62
120
  }
63
121
 
64
- async function removeInvite(invite) {
122
+ async function removeInvite(index,invite) {
123
+ invites.state.invites.splice(index, 1);
65
124
  await invites.actions.delete(invite._id);
66
125
  }
67
126
  </script>
@@ -11,8 +11,7 @@
11
11
  />
12
12
 
13
13
  <!-- MEMBERS TAB -->
14
-
15
- <!-- <Menu
14
+ <Menu
16
15
  class="mn-b-regular bg-grey"
17
16
  >
18
17
  <MenuItem
@@ -29,7 +28,58 @@
29
28
  {{organization.state.current.numberOfMembers}} members
30
29
  </span>
31
30
  </MenuItem>
32
- </Menu> -->
31
+ </Menu>
32
+
33
+ <div class="cols-2 pd-medium bg-grey radius-bg">
34
+
35
+ <Block
36
+ title="Departments"
37
+ :actions="[{
38
+ label: '+',
39
+ function: () => $router.push(`/organizations/${route.params._id}/departments/create`)
40
+ }]"
41
+ >
42
+ <Feed
43
+ :states="{
44
+ empty: {
45
+ title: 'No Departments Found',
46
+ description: 'Currently, there are no departments available.'
47
+ }
48
+ }"
49
+ :store="{
50
+ read: (options) => departments.actions.read(route.params._id),
51
+ state: null
52
+ }"
53
+ :options="{
54
+ user: auth.state.user._id,
55
+ sort: 'numberOfMemberships',
56
+ limit: 10
57
+ }"
58
+ v-slot="{
59
+ items
60
+ }"
61
+ >
62
+ <CardDepartment
63
+ v-for="(department, index) in items"
64
+ :key="index"
65
+ :department="department"
66
+ :organization="route.params._id"
67
+ class="radius-big bg-white pos-relative mn-b-thin"
68
+ />
69
+ </Feed>
70
+ </Block>
71
+ <div>
72
+ <User
73
+ v-for="(member, index) in organization.state.current.memberships"
74
+ :key="index"
75
+ :user="member"
76
+ :position="member.position"
77
+ class="bg-grey radius-small flex-nowrap flex pd-medium"
78
+ />
79
+
80
+ </div>
81
+ </div>
82
+
33
83
 
34
84
  <Tab
35
85
  v-model:selected="tabOrganization"
@@ -114,7 +164,6 @@
114
164
 
115
165
  </transition>
116
166
 
117
-
118
167
  <transition name="slide-fade">
119
168
  <div v-if="tabOrganization === 'spots'">
120
169
  <Feed
@@ -173,6 +222,11 @@
173
222
  // Mobile Module
174
223
  import Menu from '@pf/src/modules/mobile/components/Menu/Menu.vue'
175
224
  import MenuItem from '@pf/src/modules/mobile/components/Menu/MenuItem.vue'
225
+ // Organizations
226
+ import DepartmentSub from '@pf/src/modules/organizations/components/blocks/DepartmentSub.vue';
227
+ import User from '@pf/src/modules/organizations/components/blocks/User.vue';
228
+ // Ssds
229
+ import CardDepartment from '@pf/src/modules/organizations/components/blocks/CardDepartment.vue';
176
230
  // Feeds
177
231
  import FeedEvents from '@pf/src/modules/events/components/sections/Feed.vue';
178
232
  import FeedCommunity from '@pf/src/modules/community/components/sections/Feed.vue';
@@ -185,6 +239,7 @@
185
239
  import * as auth from '@pf/src/modules/auth/store/auth'
186
240
  import * as organization from '@pf/src/modules/organizations/store/organizations'
187
241
  import * as memberships from '@pf/src/modules/organizations/store/memberships'
242
+ import * as departments from '@pf/src/modules/organizations/store/departments';
188
243
  // Spots
189
244
  import * as spots from '@pf/src/modules/spots/store/spots';
190
245
  // Init router