@griddo/ax 10.1.96 → 10.2.0

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 (201) hide show
  1. package/package.json +3 -2
  2. package/src/__mocks__/axios/Roles.ts +10 -0
  3. package/src/__mocks__/axios/UserList.ts +545 -0
  4. package/src/__mocks__/store/GenericStore.ts +25 -0
  5. package/src/__mocks__/store/Roles.ts +1050 -0
  6. package/src/__mocks__/store/SitesList.ts +7 -1
  7. package/src/__mocks__/store/UserList.ts +482 -0
  8. package/src/__mocks__/store/UsersCreate.ts +298 -0
  9. package/src/__tests__/components/Avatar/Avatar.test.tsx +49 -48
  10. package/src/__tests__/components/ConfigPanel/ConfigPanel.test.tsx +2 -0
  11. package/src/__tests__/components/ConfigPanel/Form/Form.test.tsx +2 -0
  12. package/src/__tests__/components/ConfigPanel/GlobalPageForm/GlobalPageForm.test.tsx +25 -0
  13. package/src/__tests__/components/Fields/Button/Button.test.tsx +2 -2
  14. package/src/__tests__/components/Fields/ImageField/ImageField.test.tsx +2 -0
  15. package/src/__tests__/components/Fields/IntegrationsField/IntegrationsField.test.tsx +44 -2
  16. package/src/__tests__/components/Fields/Tooltip/Tooltip.test.tsx +0 -1
  17. package/src/__tests__/components/Gallery/Gallery.test.tsx +4 -0
  18. package/src/__tests__/components/Gallery/GalleryPanel/DetailPanel/DetailPanel.test.tsx +14 -0
  19. package/src/__tests__/components/Gallery/GalleryPanel/GalleryPanel.test.tsx +2 -1
  20. package/src/__tests__/components/Lists/Lists.test.tsx +3 -3
  21. package/src/__tests__/components/Login/Login.test.tsx +1 -1
  22. package/src/__tests__/components/TableFilters/DateFilter/DateFilter.test.tsx +1 -1
  23. package/src/__tests__/components/TableFilters/NameFilter/NameFilter.test.tsx +1 -1
  24. package/src/__tests__/components/TableFilters/RoleFilter/RoleFilter.test.tsx +165 -0
  25. package/src/__tests__/components/TableFilters/StatusFilter/StatusFilter.test.tsx +2 -2
  26. package/src/__tests__/components/TableFilters/UsersFilter/UsersFilter.test.tsx +153 -0
  27. package/src/__tests__/components/Tabs/Tabs.test.tsx +1 -1
  28. package/src/__tests__/modules/Settings/Integrations/Integrations.test.tsx +6 -0
  29. package/src/__tests__/modules/Sites/Sites.test.tsx +2 -1
  30. package/src/__tests__/modules/Sites/SitesList/ListView/BulkHeader/BulkHeader.test.tsx +14 -5
  31. package/src/__tests__/modules/Sites/SitesList/SitesList.test.tsx +6 -4
  32. package/src/__tests__/modules/Users/Roles/BulkHeader/BulkHeader.test.tsx +158 -0
  33. package/src/__tests__/modules/Users/Roles/Roles.test.tsx +619 -0
  34. package/src/__tests__/modules/Users/UserCreate/SiteItem/RolesModal/RoleItem/RoleItem.test.tsx +107 -0
  35. package/src/__tests__/modules/Users/UserCreate/SiteItem/RolesModal/RolesModal.test.tsx +159 -0
  36. package/src/__tests__/modules/Users/UserCreate/SiteItem/SiteItem.test.tsx +175 -0
  37. package/src/__tests__/modules/Users/UserCreate/UserCreate.test.tsx +320 -0
  38. package/src/__tests__/modules/Users/UserList/UserItem/UserItem.test.tsx +417 -0
  39. package/src/__tests__/modules/Users/UserList/UserList.test.tsx +310 -0
  40. package/src/api/index.tsx +2 -0
  41. package/src/api/roles.tsx +77 -0
  42. package/src/api/users.tsx +22 -2
  43. package/src/components/ActionMenu/index.tsx +12 -6
  44. package/src/components/Avatar/index.tsx +5 -3
  45. package/src/components/Avatar/style.tsx +8 -9
  46. package/src/components/BulkSelectionOptions/index.tsx +19 -12
  47. package/src/components/BulkSelectionOptions/style.tsx +6 -11
  48. package/src/components/ConfigPanel/Form/index.tsx +24 -1
  49. package/src/components/ConfigPanel/GlobalPageForm/index.tsx +17 -4
  50. package/src/components/ElementsTooltip/index.tsx +1 -1
  51. package/src/components/Fields/IntegrationsField/index.tsx +5 -6
  52. package/src/components/Fields/RadioField/index.tsx +1 -1
  53. package/src/components/Fields/ReferenceField/AutoPanel/index.tsx +3 -3
  54. package/src/components/Fields/ReferenceField/ItemList/index.tsx +1 -1
  55. package/src/components/Fields/ReferenceField/ManualPanel/index.tsx +3 -3
  56. package/src/components/Fields/TagsField/index.tsx +4 -2
  57. package/src/components/Fields/TextField/index.tsx +3 -0
  58. package/src/components/Fields/UrlField/index.tsx +5 -5
  59. package/src/components/Gallery/GalleryPanel/DetailPanel/index.tsx +42 -15
  60. package/src/components/Gallery/GalleryPanel/GalleryDragAndDrop/index.tsx +1 -1
  61. package/src/components/Gallery/GalleryPanel/index.tsx +20 -5
  62. package/src/components/Gallery/index.tsx +12 -6
  63. package/src/components/Icon/index.tsx +9 -1
  64. package/src/components/MainWrapper/AppBar/atoms.tsx +2 -2
  65. package/src/components/MainWrapper/AppBar/index.tsx +12 -10
  66. package/src/components/MainWrapper/AppBar/style.tsx +2 -1
  67. package/src/components/Modal/style.tsx +2 -2
  68. package/src/components/Nav/index.tsx +12 -2
  69. package/src/components/PageFinder/index.tsx +2 -2
  70. package/src/components/SearchField/index.tsx +3 -8
  71. package/src/components/TableFilters/PermissionsFilter/index.tsx +50 -0
  72. package/src/{modules/Users/UserList/HeaderMenus/Name → components/TableFilters/PermissionsFilter}/style.tsx +6 -2
  73. package/src/components/TableFilters/RoleFilter/index.tsx +61 -0
  74. package/src/components/TableFilters/RoleFilter/style.tsx +28 -0
  75. package/src/components/TableFilters/UsersFilter/index.tsx +55 -0
  76. package/src/components/TableFilters/UsersFilter/style.tsx +31 -0
  77. package/src/components/TableFilters/index.tsx +6 -0
  78. package/src/components/TableList/TableItem/style.tsx +2 -2
  79. package/src/components/TableList/style.tsx +1 -1
  80. package/src/components/index.tsx +7 -1
  81. package/src/containers/App/actions.tsx +3 -3
  82. package/src/containers/PageEditor/actions.tsx +14 -20
  83. package/src/containers/Redirects/actions.tsx +1 -0
  84. package/src/containers/Sites/actions.tsx +22 -14
  85. package/src/containers/Sites/interfaces.tsx +3 -3
  86. package/src/containers/Sites/reducer.tsx +1 -1
  87. package/src/containers/StructuredData/actions.tsx +15 -3
  88. package/src/containers/Users/actions.tsx +160 -26
  89. package/src/containers/Users/constants.tsx +8 -10
  90. package/src/containers/Users/interfaces.tsx +25 -3
  91. package/src/containers/Users/reducer.tsx +24 -15
  92. package/src/guards/index.tsx +2 -1
  93. package/src/guards/restricted/index.tsx +21 -0
  94. package/src/hooks/index.tsx +3 -0
  95. package/src/hooks/users.tsx +38 -0
  96. package/src/modules/App/Routing/NavMenu/NavItem/index.tsx +10 -5
  97. package/src/modules/App/Routing/NavMenu/index.tsx +16 -7
  98. package/src/modules/App/Routing/PrivateRoute/index.tsx +13 -5
  99. package/src/modules/App/Routing/index.tsx +17 -6
  100. package/src/modules/Categories/CategoriesList/BulkHeader/TableHeader/style.tsx +1 -0
  101. package/src/modules/Categories/CategoriesList/BulkHeader/index.tsx +2 -10
  102. package/src/modules/Categories/CategoriesList/CategoryItem/index.tsx +27 -12
  103. package/src/modules/Categories/CategoriesList/CategoryItem/style.tsx +4 -2
  104. package/src/modules/Categories/CategoriesList/index.tsx +27 -8
  105. package/src/modules/Content/BulkHeader/index.tsx +7 -3
  106. package/src/modules/Content/PageImporter/index.tsx +1 -1
  107. package/src/modules/Content/PageItem/index.tsx +45 -31
  108. package/src/modules/Content/PageItem/style.tsx +2 -1
  109. package/src/modules/Content/index.tsx +22 -13
  110. package/src/modules/FramePreview/index.tsx +2 -2
  111. package/src/modules/GlobalEditor/index.tsx +68 -53
  112. package/src/modules/GlobalSettings/index.tsx +2 -0
  113. package/src/modules/Navigation/Defaults/BulkHeader/index.tsx +2 -10
  114. package/src/modules/Navigation/Defaults/DefaultsEditor/Editor/DefaultsBrowser/index.tsx +9 -11
  115. package/src/modules/Navigation/Defaults/DefaultsEditor/Editor/index.tsx +5 -1
  116. package/src/modules/Navigation/Defaults/DefaultsEditor/index.tsx +10 -5
  117. package/src/modules/Navigation/Defaults/Item/index.tsx +41 -27
  118. package/src/modules/Navigation/Defaults/Item/style.tsx +2 -1
  119. package/src/modules/Navigation/Defaults/index.tsx +29 -10
  120. package/src/modules/Navigation/Menus/List/Table/Header/index.tsx +7 -5
  121. package/src/modules/Navigation/Menus/List/Table/Item/index.tsx +10 -10
  122. package/src/modules/Navigation/Menus/List/Table/Item/style.tsx +2 -1
  123. package/src/modules/Navigation/Menus/List/index.tsx +6 -2
  124. package/src/modules/Navigation/Menus/index.tsx +12 -7
  125. package/src/modules/PageEditor/Editor/index.tsx +5 -1
  126. package/src/modules/PageEditor/PageBrowser/index.tsx +9 -3
  127. package/src/modules/PageEditor/index.tsx +67 -57
  128. package/src/modules/Redirects/index.tsx +97 -98
  129. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/index.tsx +5 -1
  130. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/Editor/TemplateBrowser/index.tsx +8 -9
  131. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/index.tsx +7 -3
  132. package/src/modules/Settings/ContentTypes/DataPacks/Config/index.tsx +5 -1
  133. package/src/modules/Settings/ContentTypes/DataPacks/Item/index.tsx +5 -1
  134. package/src/modules/Settings/Integrations/BulkHeader/index.tsx +2 -17
  135. package/src/modules/Settings/Integrations/IntegrationForm/index.tsx +6 -2
  136. package/src/modules/Settings/Integrations/IntegrationItem/index.tsx +18 -8
  137. package/src/modules/Settings/Integrations/IntegrationItem/style.tsx +6 -3
  138. package/src/modules/Settings/Integrations/index.tsx +32 -7
  139. package/src/modules/Settings/Languages/LanguagePanel/index.tsx +6 -2
  140. package/src/modules/Settings/Languages/Table/Header/index.tsx +4 -2
  141. package/src/modules/Settings/Languages/Table/Item/index.tsx +19 -43
  142. package/src/modules/Settings/Languages/Table/Item/style.tsx +11 -54
  143. package/src/modules/Settings/Languages/index.tsx +2 -2
  144. package/src/modules/Settings/SeoAnalyticsSettings/Analytics/index.tsx +2 -4
  145. package/src/modules/Settings/SeoAnalyticsSettings/index.tsx +4 -2
  146. package/src/modules/Settings/Social/index.tsx +1 -1
  147. package/src/modules/Settings/index.tsx +17 -11
  148. package/src/modules/Sites/SitesList/GridView/GridSiteItem/index.tsx +31 -18
  149. package/src/modules/Sites/SitesList/ListView/BulkHeader/index.tsx +21 -12
  150. package/src/modules/Sites/SitesList/ListView/ListSiteItem/index.tsx +31 -18
  151. package/src/modules/Sites/SitesList/RecentSiteItem/index.tsx +1 -1
  152. package/src/modules/Sites/SitesList/index.tsx +16 -24
  153. package/src/modules/Sites/index.tsx +7 -3
  154. package/src/modules/StructuredData/Form/index.tsx +1 -1
  155. package/src/modules/StructuredData/StructuredDataList/BulkHeader/index.tsx +8 -5
  156. package/src/modules/StructuredData/StructuredDataList/ContentFilters/index.tsx +8 -5
  157. package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/index.tsx +29 -15
  158. package/src/modules/StructuredData/StructuredDataList/StructuredDataItem/index.tsx +50 -19
  159. package/src/modules/StructuredData/StructuredDataList/index.tsx +9 -6
  160. package/src/modules/Users/Profile/index.tsx +16 -4
  161. package/src/modules/Users/Roles/BulkHeader/TableHeader/index.tsx +52 -0
  162. package/src/modules/Users/Roles/BulkHeader/TableHeader/style.tsx +43 -0
  163. package/src/modules/Users/Roles/BulkHeader/index.tsx +74 -0
  164. package/src/modules/Users/Roles/RoleItem/index.tsx +104 -0
  165. package/src/modules/Users/Roles/RoleItem/style.tsx +127 -0
  166. package/src/modules/Users/Roles/SideModal/index.tsx +81 -0
  167. package/src/modules/Users/Roles/SideModal/style.tsx +132 -0
  168. package/src/modules/Users/Roles/hooks.tsx +78 -0
  169. package/src/modules/Users/Roles/index.tsx +256 -0
  170. package/src/modules/Users/Roles/style.tsx +23 -0
  171. package/src/modules/Users/Roles/utils.tsx +12 -0
  172. package/src/modules/Users/UserCreate/OptionItem/index.tsx +45 -0
  173. package/src/modules/Users/UserCreate/OptionItem/style.tsx +48 -0
  174. package/src/modules/Users/UserCreate/SiteItem/RolesModal/RoleItem/index.tsx +48 -0
  175. package/src/modules/Users/UserCreate/SiteItem/RolesModal/RoleItem/style.tsx +42 -0
  176. package/src/modules/Users/UserCreate/SiteItem/RolesModal/index.tsx +140 -0
  177. package/src/modules/Users/UserCreate/SiteItem/RolesModal/style.tsx +94 -0
  178. package/src/modules/Users/UserCreate/SiteItem/index.tsx +103 -22
  179. package/src/modules/Users/UserCreate/SiteItem/style.tsx +49 -6
  180. package/src/modules/Users/UserCreate/index.tsx +278 -121
  181. package/src/modules/Users/UserCreate/style.tsx +71 -4
  182. package/src/modules/Users/UserEdit/index.tsx +71 -24
  183. package/src/modules/Users/UserForm/atoms.tsx +40 -8
  184. package/src/modules/Users/UserForm/index.tsx +335 -116
  185. package/src/modules/Users/UserForm/style.tsx +70 -6
  186. package/src/modules/Users/UserList/BulkHeader/TableHeader/index.tsx +61 -31
  187. package/src/modules/Users/UserList/BulkHeader/TableHeader/style.tsx +18 -4
  188. package/src/modules/Users/UserList/BulkHeader/index.tsx +10 -3
  189. package/src/modules/Users/UserList/UserItem/index.tsx +121 -38
  190. package/src/modules/Users/UserList/UserItem/style.tsx +32 -14
  191. package/src/modules/Users/UserList/hooks.tsx +13 -8
  192. package/src/modules/Users/UserList/index.tsx +67 -29
  193. package/src/modules/Users/UserList/utils.tsx +1 -1
  194. package/src/modules/Users/index.tsx +20 -3
  195. package/src/routes/index.tsx +9 -17
  196. package/src/routes/multisite.tsx +73 -8
  197. package/src/routes/site.tsx +96 -10
  198. package/src/types/index.tsx +42 -1
  199. package/tsconfig.paths.json +1 -0
  200. package/src/__tests__/components/Avatar/__snapshots__/Avatar.test.tsx.snap +0 -61
  201. package/src/modules/Users/UserList/HeaderMenus/Name/index.tsx +0 -55
@@ -19,14 +19,29 @@ import IntegrationForm from "./../modules/Settings/Integrations/IntegrationForm"
19
19
  const BASE_PATH = "/sites";
20
20
 
21
21
  export default [
22
- { path: `${BASE_PATH}/pages`, component: Content, name: "Content", showInNav: true, icon: "page" },
23
- { path: `${BASE_PATH}/pages/editor`, component: Editor, name: "Page Editor", showInNav: false, hideNav: true },
22
+ {
23
+ path: `${BASE_PATH}/pages`,
24
+ component: Content,
25
+ name: "Content",
26
+ showInNav: true,
27
+ icon: "page",
28
+ permission: "content.accessToPages",
29
+ },
30
+ {
31
+ path: `${BASE_PATH}/pages/editor`,
32
+ component: Editor,
33
+ name: "Page Editor",
34
+ showInNav: false,
35
+ hideNav: true,
36
+ permission: "content.accessToPages",
37
+ },
24
38
  {
25
39
  path: `${BASE_PATH}/pages/editor/new`,
26
40
  component: Editor,
27
41
  name: "New Page Editor",
28
42
  showInNav: false,
29
43
  hideNav: true,
44
+ permission: "content.createPages",
30
45
  },
31
46
  {
32
47
  path: `${BASE_PATH}/categories`,
@@ -34,6 +49,7 @@ export default [
34
49
  name: "Categories",
35
50
  showInNav: true,
36
51
  icon: "Category",
52
+ permission: "categories.accessToSiteCategories",
37
53
  },
38
54
  {
39
55
  path: `${BASE_PATH}/data/:id/editor`,
@@ -41,6 +57,7 @@ export default [
41
57
  showInNav: false,
42
58
  icon: "",
43
59
  name: "New StructuredData",
60
+ permission: "content.accessToPages",
44
61
  },
45
62
  { path: `${BASE_PATH}/profile`, component: Profile, name: "Profile", showInNav: false, icon: "User" },
46
63
  {
@@ -49,19 +66,56 @@ export default [
49
66
  name: "Navigation",
50
67
  showInNav: true,
51
68
  icon: "Menu",
69
+ permission: "navigation.accessToNavigationSettings",
52
70
  routesGroups: [
53
71
  {
54
72
  name: "Navigation",
55
73
  routes: [
56
- { path: `${BASE_PATH}/navigations/menus`, component: Menus, name: "Menus" },
57
- { path: `${BASE_PATH}/navigations/modules`, component: Defaults, name: "Navigation modules" },
74
+ {
75
+ path: `${BASE_PATH}/navigations/menus`,
76
+ component: Menus,
77
+ name: "Menus",
78
+ permission: "navigation.accessToNavigationSettings",
79
+ },
80
+ {
81
+ path: `${BASE_PATH}/navigations/modules`,
82
+ component: Defaults,
83
+ name: "Navigation modules",
84
+ permission: "navigation.accessToNavigationSettings",
85
+ },
58
86
  ],
59
87
  },
60
88
  ],
61
89
  },
62
- { path: `${BASE_PATH}/users`, component: Users, name: "Users", showInNav: true, icon: "Users" },
63
- { path: `${BASE_PATH}/users/new`, component: UserCreate, name: "New User", showInNav: false },
64
- { path: `${BASE_PATH}/users/edit`, component: UserEdit, name: "New User", showInNav: false },
90
+ {
91
+ path: `${BASE_PATH}/users`,
92
+ component: Users,
93
+ name: "Users",
94
+ showInNav: true,
95
+ icon: "Users",
96
+ permission: "usersRoles.accessToUsersRoles",
97
+ },
98
+ {
99
+ path: `${BASE_PATH}/roles`,
100
+ component: Users,
101
+ name: "Roles",
102
+ showInNav: false,
103
+ permission: "usersRoles.accessToUsersRoles",
104
+ },
105
+ {
106
+ path: `${BASE_PATH}/users/new`,
107
+ component: UserCreate,
108
+ name: "New User",
109
+ showInNav: false,
110
+ permission: "usersRoles.createUsers",
111
+ },
112
+ {
113
+ path: `${BASE_PATH}/users/edit`,
114
+ component: UserEdit,
115
+ name: "New User",
116
+ showInNav: false,
117
+ permission: "usersRoles.editUsers",
118
+ },
65
119
  {
66
120
  path: `${BASE_PATH}/navigations/editor`,
67
121
  component: DefaultsEditor,
@@ -69,6 +123,7 @@ export default [
69
123
  showInNav: false,
70
124
  hideNav: true,
71
125
  isEditor: true,
126
+ permission: "",
72
127
  },
73
128
  {
74
129
  path: `${BASE_PATH}/settings/content-types/editor`,
@@ -77,6 +132,7 @@ export default [
77
132
  showInNav: false,
78
133
  hideNav: true,
79
134
  isEditor: true,
135
+ permission: "general.manageContentTypes",
80
136
  },
81
137
  {
82
138
  path: `${BASE_PATH}/settings`,
@@ -84,6 +140,12 @@ export default [
84
140
  name: "Settings",
85
141
  showInNav: true,
86
142
  icon: "Settings",
143
+ permission: [
144
+ "general.manageSiteSettings",
145
+ "general.manageContentTypes",
146
+ "seoAnalytics.manageAnalyticsSiteSettings",
147
+ "general.manageSiteThirdPartyIntegrations",
148
+ ],
87
149
  routesGroups: [
88
150
  {
89
151
  name: "Settings",
@@ -92,39 +154,63 @@ export default [
92
154
  path: `${BASE_PATH}/settings/globals`,
93
155
  component: Settings,
94
156
  name: "General",
157
+ permission: "general.manageSiteSettings",
95
158
  },
96
159
  {
97
160
  path: `${BASE_PATH}/settings/content-types`,
98
161
  component: ContentTypes,
99
162
  name: "Content types",
163
+ permission: "general.manageContentTypes",
100
164
  },
101
165
  {
102
166
  path: `${BASE_PATH}/settings/seo`,
103
167
  component: SeoAnalyticsSettings,
104
168
  name: "SEO & Analytics",
169
+ permission: "seoAnalytics.manageAnalyticsSiteSettings",
105
170
  },
106
171
  {
107
172
  path: `${BASE_PATH}/settings/addons`,
108
173
  component: Integrations,
109
174
  name: "Add-ons",
175
+ permission: "general.manageSiteThirdPartyIntegrations",
110
176
  },
111
177
  ],
112
178
  },
113
179
  ],
114
180
  },
181
+ {
182
+ path: `${BASE_PATH}/settings/languages`,
183
+ component: Settings,
184
+ name: "Languages",
185
+ showInNav: false,
186
+ permission: "general.accessToLanguages",
187
+ },
188
+ {
189
+ path: `${BASE_PATH}/settings/social`,
190
+ component: Settings,
191
+ name: "Social",
192
+ showInNav: false,
193
+ permission: "general.manageSocialMedia",
194
+ },
195
+ {
196
+ path: `${BASE_PATH}/settings/analytics`,
197
+ component: SeoAnalyticsSettings,
198
+ name: "Analytics",
199
+ showInNav: false,
200
+ permission: "seoAnalytics.manageAnalyticsSiteSettings",
201
+ },
115
202
  {
116
203
  path: `${BASE_PATH}/settings/addons/new`,
117
204
  component: IntegrationForm,
118
205
  name: "New Add-on",
119
206
  showInNav: false,
207
+ permission: "general.manageSiteThirdPartyIntegrations",
120
208
  },
121
209
  {
122
210
  path: `${BASE_PATH}/settings/addons/edit`,
123
211
  component: IntegrationForm,
124
212
  name: "Edit Add-on",
125
213
  showInNav: false,
214
+ permission: "general.manageSiteThirdPartyIntegrations",
126
215
  },
127
- { path: `${BASE_PATH}/settings/languages`, component: Settings, name: "Languages", showInNav: false },
128
- { path: `${BASE_PATH}/settings/social`, component: Settings, name: "Social", showInNav: false },
129
- { path: `${BASE_PATH}/settings/analytics`, component: SeoAnalyticsSettings, name: "Analytics", showInNav: false },
130
216
  ];
@@ -131,6 +131,7 @@ export interface ISite {
131
131
  thumbnail: string;
132
132
  domain: number | null;
133
133
  lastAccess?: string;
134
+ navigationModules: any;
134
135
  }
135
136
 
136
137
  export interface IRecentSite {
@@ -585,7 +586,13 @@ export interface IUser {
585
586
  enabled?: boolean;
586
587
  timezone?: string;
587
588
  status?: string;
588
- sites: (number | string)[];
589
+ roles: ISiteRoles[];
590
+ isSuperAdmin: boolean;
591
+ }
592
+
593
+ export interface ISiteRoles {
594
+ siteId: number | string;
595
+ roles: number[];
589
596
  }
590
597
 
591
598
  export interface ISelectOption {
@@ -597,6 +604,7 @@ export interface INavItem {
597
604
  title: string;
598
605
  path: string;
599
606
  component: any;
607
+ permission?: string;
600
608
  }
601
609
 
602
610
  export interface ModuleCategoryInfo {
@@ -663,6 +671,11 @@ export interface IStructuredDataQueryValues {
663
671
  export interface IUsersQueryValues {
664
672
  order: string;
665
673
  filterSites: string;
674
+ filterRoles: string;
675
+ }
676
+
677
+ export interface IRolesQueryValues {
678
+ order: string;
666
679
  }
667
680
 
668
681
  export interface ISitesQueryValues {
@@ -795,6 +808,34 @@ export interface ILinkField {
795
808
  modal: any;
796
809
  }
797
810
 
811
+ export interface IRole {
812
+ id: number;
813
+ name: string;
814
+ hex: string;
815
+ description: string;
816
+ permissions: IPermissions;
817
+ active: boolean;
818
+ users: any;
819
+ editable?: boolean;
820
+ }
821
+
822
+ export interface IPermissions {
823
+ totalPermissions: string;
824
+ sitePermissions: { name: string; key: string }[];
825
+ globalPermissions: { name: string; key: string }[];
826
+ }
827
+
828
+ export interface IGetRoles {
829
+ siteId: number | string;
830
+ order?: string;
831
+ }
832
+
833
+ export interface IActivateRole {
834
+ id: number | number[];
835
+ siteId: number | string;
836
+ active: boolean;
837
+ }
838
+
798
839
  export interface IIntegration {
799
840
  id?: number;
800
841
  name: string;
@@ -6,6 +6,7 @@
6
6
  "@ax/components": ["src/components"],
7
7
  "@ax/components/*": ["src/components/*"],
8
8
  "@ax/containers/*": ["src/containers/*"],
9
+ "@ax/modules/*": ["src/modules/*"],
9
10
  "@ax/forms": ["src/forms"],
10
11
  "@ax/guards": ["src/guards"],
11
12
  "@ax/helpers": ["src/helpers"],
@@ -1,61 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`Avatar component rendering should render the component only with name 1`] = `
4
- <div
5
- className="sc-ejdXBC fORGYU"
6
- data-testid="avatar-wrapper"
7
- >
8
- <div
9
- className="sc-ldFCYb iNdtRr"
10
- data-testid="avatar"
11
- />
12
- </div>
13
- `;
14
-
15
- exports[`Avatar component rendering should render the component with a wrong image url 1`] = `
16
- <div
17
- className="sc-ejdXBC fORGYU"
18
- data-testid="avatar-wrapper"
19
- >
20
- <div
21
- className="sc-ldFCYb cpyHnO"
22
- data-testid="avatar"
23
- />
24
- </div>
25
- `;
26
-
27
- exports[`Avatar component rendering should render the component with an empty string as name 1`] = `
28
- <div
29
- className="sc-ejdXBC fORGYU"
30
- data-testid="avatar-wrapper"
31
- >
32
- <div
33
- className="sc-ldFCYb iXxXyw"
34
- data-testid="avatar"
35
- />
36
- </div>
37
- `;
38
-
39
- exports[`Avatar component rendering should render the component with image null 1`] = `
40
- <div
41
- className="sc-ejdXBC fORGYU"
42
- data-testid="avatar-wrapper"
43
- >
44
- <div
45
- className="sc-ldFCYb Tmium"
46
- data-testid="avatar"
47
- />
48
- </div>
49
- `;
50
-
51
- exports[`Avatar component rendering should render the component without name or image 1`] = `
52
- <div
53
- className="sc-ejdXBC fORGYU"
54
- data-testid="avatar-wrapper"
55
- >
56
- <div
57
- className="sc-ldFCYb iXxXyw"
58
- data-testid="avatar"
59
- />
60
- </div>
61
- `;
@@ -1,55 +0,0 @@
1
- import React from "react";
2
-
3
- import { Icon, FloatingMenu, ListTitle, ListItem } from "@ax/components";
4
-
5
- import * as S from "./style";
6
-
7
- const NameHeader = ({ sortItems, sortedState }: INameHeaderProps) => {
8
- const { isAscending, sortedByName, sortedByDateCreated } = sortedState;
9
- const sortAscendingName = () => sortItems("name", true);
10
- const sortDescendingName = () => sortItems("name", false);
11
- const sortAscendingDateCreated = () => sortItems("dateCreated", true);
12
- const sortDescendingDateCreated = () => sortItems("dateCreated", false);
13
-
14
- const SortedStateArrow = () =>
15
- isAscending ? <Icon name="FullArrowUp" size="16" /> : <Icon name="FullArrowDown" size="16" />;
16
- const isActive = sortedByName || sortedByDateCreated;
17
-
18
- const Header = () => (
19
- <S.NameHeader isActive={isActive}>
20
- Name
21
- <S.IconsWrapper>
22
- {(sortedByName || sortedByDateCreated) && <SortedStateArrow />}
23
- <S.InteractiveArrow>
24
- <Icon name="DownArrow" size="16" />
25
- </S.InteractiveArrow>
26
- </S.IconsWrapper>
27
- </S.NameHeader>
28
- );
29
-
30
- return (
31
- <FloatingMenu Button={Header} position="left">
32
- <ListTitle>Name Sorting</ListTitle>
33
- <ListItem isSelected={sortedByName && isAscending} onClick={sortAscendingName}>
34
- Ascendent
35
- </ListItem>
36
- <ListItem isSelected={sortedByName && !isAscending} onClick={sortDescendingName}>
37
- Descendent
38
- </ListItem>
39
- <ListTitle>Date Created Sorting</ListTitle>
40
- <ListItem isSelected={sortedByDateCreated && isAscending} onClick={sortAscendingDateCreated}>
41
- Ascendent
42
- </ListItem>
43
- <ListItem isSelected={sortedByDateCreated && !isAscending} onClick={sortDescendingDateCreated}>
44
- Descendent
45
- </ListItem>
46
- </FloatingMenu>
47
- );
48
- };
49
-
50
- interface INameHeaderProps {
51
- sortedState: any;
52
- sortItems(orderPointer: string, isAscendent: boolean): any;
53
- }
54
-
55
- export default NameHeader;